Javascript 根据条件尝试填充图像源时出现未捕获类型错误

Javascript 根据条件尝试填充图像源时出现未捕获类型错误,javascript,html,typeerror,Javascript,Html,Typeerror,我正在尝试根据条件更改到http/https的链接。正在工作的代码如下所示 <script> var _comscore = _comscore || []; _comscore.push({ c1: "2", c2: "7109919" }); (function () { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.as

我正在尝试根据条件更改到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>

var _comscore=_comscore | |[];
_comscore.push({c1:“2”,c2:“7109919”});
(功能(){
var s=document.createElement(“脚本”),el=document.getElementsByTagName(“脚本”)[0];s.async=true;
s、 src=(document.location.protocol==“https:?”https://sb“:“http://b”)+”.scorecardresearch.com/beacon.js”;
el.parentNode.insertBefore(s,el);
})();
我试图做的是更改“noscript”部分。在“noscript”部分,需要根据http/https协议更改代码

如果协议是http,则链接需要以“b.scorecard research.com”开头 如果协议是https,则链接需要以“sb.scorecard research.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> 
{Comscore标记}
var _comscore=_comscore | |[];
_comscore.push({c1:“2”,c2:“7109919”});
(功能(){
var s=document.createElement(“脚本”),el=document.getElementsByTagName(“脚本”)[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];
})();
但是我得到了一个错误,它是“uncaughttypeerror:cannotsetproperty'src'为null”


由于我是新的前端和JavaScript,我被困在这个错误,任何人都可以建议任何解决方案来解决这个错误?提前感谢

iScorecardresearch
隐藏在
noscript
中。浏览器将无法访问它