将变量添加到 javascript url 调用
Adding a variable to a javascript url call
我想在我的网站上添加一个网络流量分析工具。
要调用它,我必须在我要跟踪的每个页面中放置以下内容:
<script type="text/javascript" src="http://analysisTool.js?idtag=123456789&orderid=random"></script>
idtag 123456789 是分配给我网站的标签 id
并且 orderid 将是我要跟踪的每个页面的随机数(这是该工具的工作方式)
因为我不想在需要更改此 orderid 时编辑页面,所以我创建了 myjs.js:
var uid = Math.floor(Math.random()*(100000000-0))+0;
然后,我正在做:
<script type="text/javascript" src="/_includes/myjs.js"></script>
<script type="text/javascript" src="http://analysisTool.js?idtag=123456789& orderid ="+uid></script>
但这肯定是错误的做法,因为在浏览器工具中,在网络章节中,我看不到orderid。
我检查过 myjs.js 的路径是正确的。
我做错了什么?
谢谢!
请看jQuery getScript().
我认为它可以解决您的问题:
By default, $.getScript() sets the cache setting to false. This appends a >timestamped query parameter to the request URL to ensure that the browser >downloads the script each time it is requested.
请注意,"document.write" 也适用于这种情况。
您试图以错误的方式访问 uid(在 src 属性中)。它需要在脚本上下文中,因此您唯一的选择是动态添加脚本:
<script type="text/javascript" src="/_includes/myjs.js"></script>
<script type="text/javascript">
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", "http://analysisTool.js?idtag=123456789& orderid ="+uid);
document.getElementsByTagName("head")[0].appendChild(fileref)
</script>
您必须使用 javascript 完全添加脚本标签。您不能像 HTML 页面中那样使用 javascript 变量。
如果您想动态添加脚本标签,请使用此脚本:
var script = document.createElement('script'); //create new tag
script.src = "http://analysisTool.js?idtag=123456789&orderid=" + uid;//set the url with your id
document.getElementsByTagName('head')[0].appendChild(script);//append the scripttag
请在您的 myjs.js 中动态添加此 js 声明。意味着通过您的 javascript 代码创建脚本标签。
window.onload = function() {
var script = document.createElement('script');
script.type = 'text/javascript';
var uid = Math.floor(Math.random()*(100000000-0))+0;
script.src = 'http://analysisTool.js?idtag=123456789&orderid=' + uid;
document.head.appendChild(script);
}
我想在我的网站上添加一个网络流量分析工具。
要调用它,我必须在我要跟踪的每个页面中放置以下内容:
<script type="text/javascript" src="http://analysisTool.js?idtag=123456789&orderid=random"></script>
idtag 123456789 是分配给我网站的标签 id
并且 orderid 将是我要跟踪的每个页面的随机数(这是该工具的工作方式)
因为我不想在需要更改此 orderid 时编辑页面,所以我创建了 myjs.js:
var uid = Math.floor(Math.random()*(100000000-0))+0;
然后,我正在做:
<script type="text/javascript" src="/_includes/myjs.js"></script>
<script type="text/javascript" src="http://analysisTool.js?idtag=123456789& orderid ="+uid></script>
但这肯定是错误的做法,因为在浏览器工具中,在网络章节中,我看不到orderid。
我检查过 myjs.js 的路径是正确的。
我做错了什么?
谢谢!
请看jQuery getScript().
我认为它可以解决您的问题:
By default, $.getScript() sets the cache setting to false. This appends a >timestamped query parameter to the request URL to ensure that the browser >downloads the script each time it is requested.
请注意,"document.write" 也适用于这种情况。
您试图以错误的方式访问 uid(在 src 属性中)。它需要在脚本上下文中,因此您唯一的选择是动态添加脚本:
<script type="text/javascript" src="/_includes/myjs.js"></script>
<script type="text/javascript">
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", "http://analysisTool.js?idtag=123456789& orderid ="+uid);
document.getElementsByTagName("head")[0].appendChild(fileref)
</script>
您必须使用 javascript 完全添加脚本标签。您不能像 HTML 页面中那样使用 javascript 变量。
如果您想动态添加脚本标签,请使用此脚本:
var script = document.createElement('script'); //create new tag
script.src = "http://analysisTool.js?idtag=123456789&orderid=" + uid;//set the url with your id
document.getElementsByTagName('head')[0].appendChild(script);//append the scripttag
请在您的 myjs.js 中动态添加此 js 声明。意味着通过您的 javascript 代码创建脚本标签。
window.onload = function() {
var script = document.createElement('script');
script.type = 'text/javascript';
var uid = Math.floor(Math.random()*(100000000-0))+0;
script.src = 'http://analysisTool.js?idtag=123456789&orderid=' + uid;
document.head.appendChild(script);
}