从该元素中引用或查找未识别的父元素

时间:2013-05-19 14:29:41

标签: javascript get src

如果这个问题无法回答,那么我将发布第二个“后退”问题。 我一直在编写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实际上不允许在标签的属性参数中使用。

1 个答案:

答案 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标签内直接做到这一点。