如果这个问题无法回答,那么我将发布第二个“后退”问题。 我一直在编写javascript jsonp类型的应用程序,其中客户端必须将单个javascript行插入到他们希望应用程序显示在网页上的任何位置。到目前为止,它的效果非常好,但是现在我想在js src属性中再添加一个GET变量,这就是当前客户端的页面URL。
之前:
<script id="myScript" type="text/javascript" src="http://www.mydomain.com/scripts/ds.js?cid=00000001&domain=clientdomain.com"></script>
但是现在对于新的转折,我想在src中添加页面url作为GET变量,如下所示:
<script id="myScript" type="text/javascript" src="http://www.mydomain.com/scripts/ds.js?cid=00000001&domain=clientdomain.com&page="+document.URL></script>
如果document.URL位于脚本标记之间,我可以这样做(但这导致我必须编写一个稍大且不太优雅的代码块)。也许javascript实际上不允许在标签的属性参数中使用。
答案 0 :(得分:1)
执行此类操作的常用方法是在JavaScript中构建标记本身。您可以获得异步加载的额外好处(尽管如果您不知道如何正确处理异步加载,这可能是一个问题)。例如:
<script>
(function(d){
var f=d.createElement('script'),s=d.getElementsByTagName('script')[0];
f.type='text/javascript';
f.async=true;
f.src='http://www.mydomain.com/scripts/ds.js?cid=00000001&domain=clientdomain.com&page='+encodeURI(document.location.href);
s.parentNode.insertBefore(f,s)
})(document)
</script>
Google Analytics使用类似的代码,因此您的公司很好。你完全没有在HTML标签内直接做到这一点。