jQuery.load()调用不会在加载的HTML文件中执行JavaScript

jQuery.load()调用不会在加载的HTML文件中执行JavaScript

这似乎是一个只与Safari相关的问题。我已经在Mac上尝试了4次,在Windows上尝试了3次,但仍然没有运气。

我正在尝试加载一个外部HTML文件,并让嵌入的JavaScript执行。

我试图使用的代码是:

$("#myBtn").click(function() {
    $("#myDiv").load("trackingCode.html");});

trackingCode.html如下所示(现在很简单,但如果我完成此工作,则会展开一次):

<html><head>
    <title>Tracking HTML File</title>
    <script language="javascript" type="text/javascript">
        alert("outside the jQuery ready");
        $(function() {
            alert("inside the jQuery ready");
        });
    </script></head><body></body></html>

我在IE(6&7)和Firefox(2&3)中都看到了警告消息。但是,我无法在Safari中看到消息(我需要关注的最后一个浏览器-项目要求-请不要使用火焰大战)。

对于Safari为什么忽略trackingCode.html档案?

最终,我希望能够将JavaScript对象传递给这个trackingCode.html在jQuery就绪调用中使用的文件,但我希望在开始之前确保在所有浏览器中都可以这样做。


肥皂起泡泡
浏览 1637回答 3
3回答

阿晨1998

$("#images").load(location.href+"&nbsp;#images",function(){ &nbsp;&nbsp;&nbsp;&nbsp;$.getScript("js/productHelper.js");&nbsp;});

富国沪深

另一个版本约翰·皮克(JohnPick)解就在此之前,这件事对我来说很好:jQuery.ajax({ &nbsp;&nbsp;&nbsp;.... &nbsp;&nbsp;&nbsp;success:&nbsp;function(data,&nbsp;textStatus,&nbsp;jqXHR)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jQuery(selecteur).html(jqXHR.responseText); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;reponse&nbsp;=&nbsp;jQuery(jqXHR.responseText); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;reponseScript&nbsp;=&nbsp;reponse.filter("script"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jQuery.each(reponseScript,&nbsp;function(idx,&nbsp;val)&nbsp;{&nbsp;eval(val.text);&nbsp;}&nbsp;); &nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;...});
打开App,查看更多内容
随时随地看视频慕课网APP