假设我有以下脚本标记:
<script async data-id="p3PkBtuA" src="//example.com/embed.js"></script>
在该embed.js
文件中,如何获取data-id
属性的值?
我尽量保持embed.js
文件的轻量级,所以理想情况下它不需要使用某种javascript库。
发布于 2013-02-16 06:26:31
该embed.js
是在DOM中呈现的,因此您可以完全访问它。或者给它一个id
并使用querySelctorAll
或getElementsByTagName
的document.getElementById
在你的embed.js
中,你可以拥有类似这样的东西:
var scripts = document.getElementsByTagName('script');
for(var i = 0, l = scripts.length; i < l; i++){
if(scripts[i].src === '//example.com/embed.js'){
alert(scripts[i].getAttribute('data-id'));
break;
}
}
你明白我的意思了
发布于 2014-10-20 00:23:04
var attributeValue = Array.prototype.slice.apply(document.scripts).filter(
function(script){
return script.src.indexOf('script.source.com/big/') > -1;
})[0].attributes["atrributeName"].value;
其中脚本标记为<sript src="www.script.source.com/big/dud/baa.js" atrributeName="some value"><script>
发布于 2014-01-15 04:20:33
var scripts = document.getElementsByTagName('script'); // load into a variable all the scripts of the page
for (var i = 0; i < scripts.length; i++) { // parse all scripts
var script = scripts[i];
if (script.getAttribute('src') == '//example.com/embed.js') {
alert(script.dataset.id); // Show only specified script
}
}
https://stackoverflow.com/questions/14904378
复制相似问题