如何更改外部脚本url onclick?
我一直在努力为我的问题寻找解决方案。 我不是一个有javascript经验的人,但我正在寻找一种轻微改变外部js url的方式,这取决于ahref上的onclick事件。
现在我有这个在我的头标签:
<script type="text/javascript" src="http://www.domain.com/loader.php?GID=126&go=&sid="></script>
我希望SID参数根据锚标签上的onclick设置为1或2。 加载程序用这段代码调用,但SID在调用加载程序之前必须更改。
<a href="/#download" onclick="javascript:Load_126(); return false;">
有没有人能告诉我是否有可能? 也许可以指出我朝着正确的方向?
问候,
Sedoc94
编辑1 :我已经指出了一个方向,并认为我可以用jQuery.getScript()
做到这一点,但仍然没有线索我应该如何利用它为我的情况。
编辑2 :由于脚本需要从外部域拉,我将不得不去与$ .ajax()函数。
现在我有:
function loadGame(sid){
$.ajax({
url: 'http://www.domain.com/loader.php?GID=126&go=&sid='+sid,
dataType: "script",
crossDomain: true,
success: gLoad_12603()
});
}
使用ahref onclick我打电话给loadGame函数,但控制台说: Uncaught ReferenceError: gLoad_12603 is not defined
。 它应该工作。 但我猜测它以某种方式给出了这个错误,因为该函数只存在于从外部URL返回的脚本代码中。
任何想法,我怎么能使它工作?
您需要提供一个成功回调,当AJAX请求完成时将执行回调。 现在你实际上是在说出gLoad_12603()和parathesis并且在AJAX请求被启动之前执行函数。 您不能仅仅删除该对齐方式,因为在AJAX请求实际启动之前,jQuery可能会尝试获取对gLoad_12603函数的引用。 所以你必须把你的电话打包到gLoad_12603()函数中,以确保一切正常。
function loadGame(sid){
$.ajax({
url: 'http://www.domain.com/loader.php?GID=126&go=&sid='+sid,
dataType: "script",
crossDomain: true,
success: function() {
gLoad_12603();
}
});
}
jQuery.getScript()
function loadScript(sid) {
$.getScript("http://www.domain.com/loader.php?GID=126&go=&sid="+sid, function(script, textStatus, jqxhr) {
//code you want to be executed after the script is loaded inside the page
//you can delete this callback if you don't need it
});
}
并以这种方式使用它,更改每个锚点上的sid
以加载不同的脚本:
<a href="/#download" onclick="javascript:loadScript(126); return false;">
<a href="/#download" onclick="javascript:loadScript(127); return false;">
尝试删除“success:gLoad_12603()”中的括号“()”。
链接地址: http://www.djcxy.com/p/71737.html