【问题标题】:jQuery .load is not loading a local html file inside a Cocoa WebViewjQuery .load 没有在 Cocoa WebView 中加载本地 html 文件
【发布时间】:2013-07-17 23:47:05
【问题描述】:

我有一个显示本地 HTML 文件的 Cocoa WebView。我正在尝试使用 jQuery.load() 将另一个本地 HTML 文件加载到 div 中。我的 JavaScript 代码是这样的:

$("#mydiv").load("test.html");  // test.html is a local file inside the app's bundle

我没有看到任何异常,但它不会在 div 中加载 html。我为 iOS 应用程序使用完全相同的代码,它工作正常。我也尝试过使用 XMLHttpRequest(),我可以看到 responseText 很好。

有什么建议吗?提前致谢!

【问题讨论】:

  • 您可以尝试在.load() 之前放置一个$(document).ready 以确保页面完全存在,然后再尝试将新内容加载到其中。根据加载时间,由于目标 div 在尝试执行时不存在而导致 JS 失败。
  • 实际上代码是在 DOM 加载后执行的。我认为这与 Cocoa 的 WebView 有关,因为相同的代码在 iOS、Android 和 Windows 下运行没有问题。谢谢你的时间。

标签: javascript jquery html macos cocoa


【解决方案1】:

我可以改用 jQuery.ajax 来解决这个问题。我是这样做的:

jQuery.ajax({ 
     url: "test.html", dataType: "html" 
}).done(function( responseHtml ) {
     $("#mydiv").html(responseHtml);
});

希望它对某人有所帮助!

【讨论】:

  • 对我不起作用,就像在 jQuery 对象上执行 .load 一样。
【解决方案2】:

一个不错的小工作只需将 home.html 替换为您的本地 html 文件,并将内容替换为您的 div id

document.getElementById("content").innerHTML='<object type="text/html" data="home.html" ></object>';

在 Chrome、Firefox 和 IE 中工作享受!

【讨论】:

    【解决方案3】:
    var $div = $('div#something');
    $div.load("test.html");
    

    【讨论】:

    • 我知道这听起来像是一个简单的答案,但在我看来,我的问题与 Cocoa 的 WebViews 而不是 jQuery 有关。您的代码是等效的。无论如何,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-01-19
    • 2014-02-28
    • 2022-06-25
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多