我搜索了很长时间,但我找不到问题的答案。 问题是我有一个可以将JS插入任何站点的插件,我的任务是验证脚本是否已加载,检索它的src及其参数取决于domein和alert()它们。
示例脚本src如下所示:
<script src="https://example.com/tags?id={FOO}_{BAR}_{VARIOUS_THINGS}_{ID},{ID},{ID}"></script>
我试图在这里使用一些代码段Verify External Script Is Loaded,特别是这个,我用超时和其他东西改变了一点:
window.onload = function(){ setTimeout( function(){
var foo = $('script[src*="example.com"]').length;
if (foo === 0)
{
alert('no script here');
}
else {
alert('Yay! script is here!');
}
}, 2500); };
但是它只检查脚本是否存在以及foo是否匹配我给出的字符串,我还想检查参数是什么,所以我试图将此$('script[src*="example.com"]')
改为我通常得到的东西在{VARIOUS_THINGS}
宏中,我们说这些是"boogie1"
,"chewingGum"
和"PinkFlamingo"
。它们有效,例如当我将"example.com"
更改为"PinkFlamingo"
时,它只会检测"PinkFlamingo"
而不会检测"boogie1"
或其他宏。我试图将*
放在那里,所以它需要整个example.com*
,但ID也不起作用。
基本上我不知道如何设置在给定域时它将占用整个src的条件,并且在脚本src {VARIOUS_THINGS}
中检索并警告某些变量并仅返回匹配的一个(不是真的) / false声明)。
我也试过getElementByTagName
和currentScript,但我没有设法做任何有效的事情......