0

我给客户 javscript 代码,在他们的网站上添加一个小部件。</body>目前我要求他们将其粘贴在标签上方:

<script type="text/javascript">
var myHost = (("https:" == document.location.protocol) ? "https://" : "http://");
document.write(unescape("%3Cscript src='" + myHost + "www.mywebsite.com/mycode.js.php?u="+encodeURIComponent(window.location.host)+"' type='text/javascript'%3E%3C/script%3E"));
</script>

如您所见,代码根据页面 url 在 http 或 https url 下调用我的脚本。

有时,当网站 html 格式不正确时,该脚本可能会导致IE 浏览器上的“操作中止”错误。

我想向客户发送将附加到该<head>区域的代码。

  1. 从头部调用代码时如何处理 http/https?
  2. 你知道它是否会解决操作中止的问题吗?
4

2 回答 2

2

只需给他们 HTTPS 解决方案。

如果他们的页面是安全的,它会正常工作;如果不是,那么将安全对象嵌入到不安全的页面中没有任何问题。

<script type="text/javascript" src="https://www.mywebsite.com/mycode.js.php"></script>

我可以看到您在查询字符串中传递了原始域。您可以从 JS 代码中获取它,而无需通过 GET 参数传递它。您可以使用该document.referrer属性进行检查。

于 2009-05-14T14:58:17.150 回答
2

看起来谷歌以完全相同的方式处理他们的分析代码(我相信你知道)。你在你的代码中做什么?当我查看您提供的“操作中止”链接时,它说是在页面加载后执行代码的解决方案。

我建议将一个函数绑定到 onload 事件并在那里执行你的 DOM 操作代码。

于 2009-05-14T15:00:48.720 回答