Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法显示JavaScript小部件_Javascript_Html - Fatal编程技术网

无法显示JavaScript小部件

无法显示JavaScript小部件,javascript,html,Javascript,Html,我正在尝试将JustGiving小部件添加到我的网站,但它根本不显示。我认为文件中还有其他脚本可能会干扰,所以我最终在一个新的纯html文件中进行了测试,但仍然无法工作 有趣的是,如果我将其复制/粘贴到W3学校代码编辑器中,它就可以工作了!这是相同的代码,我无法理解为什么它不加载到html文件中 123 (职能(d){ var jg=d.createElement('script'); jg.type='text/javascript'; jg.async=true; jg.src=(d.lo

我正在尝试将JustGiving小部件添加到我的网站,但它根本不显示。我认为文件中还有其他脚本可能会干扰,所以我最终在一个新的纯html文件中进行了测试,但仍然无法工作

有趣的是,如果我将其复制/粘贴到W3学校代码编辑器中,它就可以工作了!这是相同的代码,我无法理解为什么它不加载到html文件中


123
(职能(d){
var jg=d.createElement('script');
jg.type='text/javascript';
jg.async=true;
jg.src=(d.location.protocol=='https:'?'https://widgets.justgiving.com/charity-events-board/host.js' : 'http://widgets.justgiving.com/charity-events-board/host.js');
var s=document.getElementsByTagName('script')[0];
s、 parentNode.insertBefore(jg,s);
})(文件);

为什么不使用这样的东西?没有测试,但我认为它是有效的

<div id="scripts"></div>
<script>
    var url = document.location.protocol + '//widgets.justgiving.com/charity-events-board/host.js';
    var script = '<script type="text/javascript" src="${url}"></script>';
    document.getElementById("scripts").innerHTML = script;
</script>

var url=document.location.protocol+'//widgets.justgiving.com/charity events board/host.js';
var脚本=“”;
document.getElementById(“脚本”).innerHTML=script;

jQuery具有html和附加功能。

浏览器控制台中有错误吗?是不是在页面上没有脚本标记的情况下,选择器无法确定将其放置在何处?“document.getElementsByTagName('script')[0]”==未定义?@Raimonds肯定会选择包含上述代码的
标记,否?是否尝试禁用广告阻止扩展?当我在禁用Ad块后在JSFIDLE中尝试您的代码时,它起了作用@Raimonds“否,因为该脚本标记尚未注入dom”…如果脚本正在执行,那么它必须已经注入dom和页面。我刚测试过,我是对的。创建一个空白文件并粘贴
var s=document.getElementsByTagName('script')[0];控制台日志进入它。在浏览器中打开它并检查控制台。您将看到它记录脚本标记。除非JS代码在DOMI中,否则无法执行它。获取一个带有“.”的空白文档;document.getElementById(“脚本”).innerHTML=script;你有没有试着把发生的事情打印出来?警报(“测试”)、控制台日志(“测试”)?同时尝试检查页面并查看页面源代码。在不同的浏览器中尝试。