【发布时间】:2013-05-26 07:33:00
【问题描述】:
我一直在努力寻找解决问题的方法。我不是 javascript 经验丰富的人,但我正在寻找一种方法来根据 ahref 上的 onclick 事件稍微更改外部 js url。
现在我的头标签里有这个:
<script type="text/javascript" src="http://www.domain.com/loader.php?GID=126&go=&sid="></script>
我希望 SID 参数根据锚标记上的点击设置为 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 返回的脚本代码中。
有什么想法可以让它发挥作用吗?
【问题讨论】:
-
我认为不可能即时更改脚本 src,因为需要重新加载 JS 代码。为什么不使用简单的 AJAX 来完成这项任务?查看jQuery.get
-
在 ajax 对象 onreadystatechange 上添加事件处理程序,但如果您使用 jquery,请阅读此api.jquery.com/Ajax_Events
-
我刚读到,但它说我需要使用我已经在使用的“成功”事件处理程序?
-
@LightStyle 答案应该可以。使用他的答案有什么问题?顺便说一句,这里使用 $.getScript 或 $.ajax,因为您似乎不想做任何改变
-
有
gLoad_12603函数吗?
标签: javascript ajax jquery xhtml