在Rails应用程序中使用外部脚本时出现Javascript null错误
我正在使用一个广告服务提供商的横幅广告,类似于谷歌adsense。 他们网站上的说明清楚而简单地说明,我们所需要做的就是将下面的代码复制到我们的网页正文中在Rails应用程序中使用外部脚本时出现Javascript null错误,javascript,ruby-on-rails,turbolinks,Javascript,Ruby On Rails,Turbolinks,我正在使用一个广告服务提供商的横幅广告,类似于谷歌adsense。 他们网站上的说明清楚而简单地说明,我们所需要做的就是将下面的代码复制到我们的网页正文中 <!-- Begin Hsoub Ads Ad Place code --> <script type="text/javascript"><!-- hsoub_adplace = [my account id]; hsoub_adplace_size = '728x90'; //--></s
<!-- Begin Hsoub Ads Ad Place code -->
<script type="text/javascript"><!--
hsoub_adplace = [my account id];
hsoub_adplace_size = '728x90';
//--></script>
<script src="http://ads2.hsoub.com/show.js" type="text/javascript"></script>
<!-- End Hsoub Ads Ad Place code -->
我已经复制并粘贴到我的rails应用程序中,在一个视图文件的主体内,但是横幅没有显示,我可以看到javascript错误(使用浏览器检查源代码)
TypeError:document.getElementById(…)为空
ps:在旧浏览器上会显示横幅,但在最新版本的浏览器上不会显示
ps2:hsoub的支持多次确认,他们方面没有问题(他们的代码很好,可以在数千个网站上运行,我的帐户处于活动状态,没有问题)。这一定是我的代码出了问题。。我在想Rails处理javascript的方式。。。
你能帮我解决这个错误并显示横幅吗
ps3:我正在使用rails6.0.1
和TurboLink5.2.0
您可以在在线查看错误/源代码。我猜这是一个脚本定位问题。脚本可能正在查找尚未呈现的元素,即文档和文档正文尚未准备就绪。将脚本移动到页面末尾,即body标记之后,看看这是否有帮助。否则,请添加确切的错误,并可能显示您的页面和脚本相对于其他元素的压缩视图
<!DOCTYPE html>
<html>
<head></head>
<body>
<h1>Hello world</h1>
</body>
<script type="text/javascript">
hsoub_adplace = 12345;
hsoub_adplace_size = '728x90';
</script>
<script src="http://ads2.hsoub.com/show.js" type="text/javascript"></script>
</html>
你好,世界
hsoub_adplace=12345;
hsoub_adplace_尺寸='728x90';
通过移动脚本,我成功地加载了iframe
脚本(仍然)在主体
标记中
该问题是由CloudFlare cdn服务的火箭加载器功能引起的 Rocket Loader改进了包含Javascript的页面的绘制时间。 通过更快地加载内容,访问者将获得更好的体验 速度也是一些搜索排名的一个因素 Rocket Loader通过异步加载您的 Javascripts,包括第三方脚本,以便它们不会阻塞 呈现页面的内容
我禁用了它,现在出现了横幅。可能是turbolinks,你能在刷新页面(F5)时显示横幅吗?它从不显示,尝试刷新。你能为问题添加更多细节吗,比如页面的小视图,这将给我们一个清晰的理解来帮助您。@SunilLulla我已经提到了页面本身。你可以在t a f q i t检查。狱警m@bwalshy实际上是的,它现在正在工作。该问题是由cloudflare引起的。当我禁用他们的火箭加载器功能时,横幅开始出现。我已经将它移出了身体,但仍然存在相同的问题。该网站在t a f q i t在线。如果您能看一下那里的代码/错误,我将不胜感激。我不是前端开发人员,因此这里可能会有一些我不知道的神奇之处,但看起来那些脚本标记仍然在
正文
中。您可能还可以从第一个脚本元素中删除
标记。