gpt4 book ai didi

windows-phone-7 - 在 Windows Phone 7 上的 PhoneGap 中包含本地 JavaScript

转载 作者:行者123 更新时间:2023-12-04 07:15:06 27 4
gpt4 key购买 nike

我有一个设计用于多个移动平台的 PhoneGap 应用程序。我正在使用 jQuery Mobile 从 Internet 上的外部页面加载动态 HTML 内容。有问题的系统是 Windows Phone 7。

这是我从外部页面得到的,脚本标签的 URL 已经被替换为从手机而不是从网络加载以节省带宽:

<script type="text/javascript" charset="utf-8" src="x-wmapp1:/app/www/test.js"></script>

当我将 x-wmapp1: 部分替换为相应的对应部分(例如 file:///android_asset/www/在 Android 上)时,这在 Android、iPhone 甚至 BlackBerry 上运行良好。但是,在 Windows Phone 7 上它似乎根本不起作用。

当我尝试通过 $.getScript 函数加载相同的 URL 时,它总是返回 404 错误,即使我尝试仅使用相对路径加载它也是如此。

有什么建议吗?

最佳答案

尝试在 GapSourceDictionary.xml 中添加您的 js。

GapSourceDictionary.xml XML 文件列出了所有 HTML 应用程序资源。当应用程序启动时,将读取此 XML 文件并将列表中包含的所有文件添加到独立存储,以便 WebBrowser 控件可以为其提供服务。

例如,您的 GapSourceDictionary.xml 应如下所示:

    <?xml version="1.0" encoding="utf-8"?>
<GapSourceDictionary>
<FilePath Value="www\index.html"/>
<FilePath Value="www\test.css"/>
<FilePath Value="www\phonegap-1.3.0.js"/>
<FilePath Value="www\js\custom.js"/>
</GapSourceDictionary>

在您的 HTML 文件中使用相对路径指定外部脚本文件的 URL:

    <script type="text/javascript" src="./js/custom.js"></script>

已编辑

我成功地使用以下过程动态加载了一个新的本地 JavaScript 文件。在 PhoneGap 2.0 上测试成功。不幸的是,同样的测试在 PhoneGap 1.8.1 上失败了

下面是动态加载JS的源码:

function dynamicJSload(url)
{
var script = document.createElement('script');
script.type = "text/javascript";
if (script.readyState)
{
script.onreadystatechange = function(){
if (script.readyState == "complete" || script.readyState == "loaded"){
script.onreadystatechange = null;
}
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}

在我的页面中,我这样调用函数:

  dynamicJSload("js\\test.js");

希望对你有帮助

关于windows-phone-7 - 在 Windows Phone 7 上的 PhoneGap 中包含本地 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11950281/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com