【问题标题】:JavaScript requesting file with inherited protocolJavaScript 请求具有继承协议的文件
【发布时间】:2016-06-07 21:10:32
【问题描述】:

我有一个 Titan 应用程序,它嵌入了一些第三方 JavaScript 代码,该代码正在请求它使用的更多文件。问题是这些文件是使用继承样式协议 (//example.com/file.js) 请求的,并且似乎 Titanium 正试图将此请求作为本地文件引用。如果我在 iOS 模拟器中运行应用程序并在 Safari 中调试,则会显示以下控制台消息:

[Error] Failed to load resource: resource unavailable file://www.documentcloud.org/documents/2179503-superior-court-lawsuit-intersal-v-nc.js?_=1465333443448

有其他人遇到过这个问题或知道解决方法吗?

【问题讨论】:

    标签: http appcelerator


    【解决方案1】:

    请记住,最终应用是原生应用。无法像在浏览器/webview 中那样包含外部 JavaScript 文件。

    是的,最终的原生应用中仍然存在 JavaScript。但它并没有为您提供任何加载外部 Javascript 的功能。

    如果您想包含外部 javascript 文件,您需要将其与应用程序打包。

    也可以使用 http 客户端获取外部 Javascript 文件并将其存储在本地,但是我没有尝试过,不推荐这样做。

    在您的情况下,只需将 url 中的 .js 更改为 .jsonhttp://www.documentcloud.org/documents/2179503-superior-court-lawsuit-intersal-v-nc.json?_=1465333443448 即可获取 JSON 格式的数据

    然后您可以使用 http 客户端获取它并照常使用数据

    【讨论】:

    • 问题是我们基本上嵌入了一个第三方javascript文件,然后该文件在其代码中发出请求。我们无法控制协议。
    • 第 3 方 javascript 文件仍位于应用程序内/您的代码库中,对吗?您将不得不更改代码或重做自己来修复它
    • 对于它的价值,这一切都在 WebView 中。所以我的假设是它会/应该尊重这些类型的 URL。
    猜你喜欢
    • 2021-09-21
    • 2013-09-23
    • 1970-01-01
    • 2021-04-19
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    相关资源
    最近更新 更多