我正在尝试根据条件更改指向http / https的链接。正在运行的代码在
之下<script>
var _comscore = _comscore || [];
_comscore.push({ c1: "2", c2: "7109919" });
(function () {
var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true;
s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js";
el.parentNode.insertBefore(s, el);
})();
</script>
<noscript>
<img src="http://b.scorecardresearch.com/p?c1=2&c2=7109919&cv=2.0&cj=1" />
</noscript>
我尝试做的是更改'noscript'部分。在'noscript'部分,代码需要根据http / https协议进行更改;
如果协议是http,则链接需要以'b.scorecardresearch.com'开头 如果协议是https,则链接需要以'sb.scorecardresearch.com'开头
这是我的代码,我试图像这样填写img的来源
{# Comscore Tag #}
<noscript>
<img id="iScorecardresearch" src="" />
</noscript>
<script>
var _comscore = _comscore || [];
_comscore.push({ c1: "2", c2: "7109919" });
(function () {
var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true;
document.getElementById("iScorecardresearch").src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/p?c1=2&c2=7109919&cv=2.0&cj=1";
s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js";
el.parentNode.insertBefore(s, el);
var ns = document.createElement("noscript"), elns = document.getElementsByTagName("noscript")[0];
})();
</script>
但是我得到一个错误,即'未捕获的TypeError:无法设置属性'src'为null'
由于我是前端和JavaScript的新手,我遇到了这个错误,任何人都可以建议任何解决方案来解决这个错误?提前致谢
答案 0 :(得分:0)
iScorecardresearch
隐藏在noscript
内。浏览器将无法访问它。