从Javascript应用程序

时间:2016-06-16 23:03:50

标签: javascript html angularjs cordova inappbrowser

在我的javascript应用程序中,它使用了Angular.js并使用Cordova构建,我创建了一个类似的字符串:

enter image description here

最后,我想指向一个包含此代码的页面,就像我可以指向像“player.html”这样的文件。实现这一目标的最简单方法是什么?我是否必须使用一些File API将其作为html文件导出到文件系统中?

我问,因为我试图在新窗口中使用InAppBrowser(Cordova插件)打开此HTML,该插件只接受文件的URL

3 个答案:

答案 0 :(得分:2)

我不确定您的环境中是否有blobs可用,但如果它们可用,您可以使用它们在内存中生成URL,如下所示:

Cells(4, 17).Value = "=BDP(O4,Q2)"

它们不会在Windows中持久存在,但您可以传递在新窗口中构建它们的脚本。

我希望有所帮助!

答案 1 :(得分:1)

作为requested - 使用base64而不是使用blob的objectUrl

var playerBlueprint = '<script>alert("hi")</script>'
open("data:text/html;base64," + btoa(playerBlueprint))

PS blob可以继承那些能够使用客户端存储的源。

Uncaught DOMException: Failed to read the 'localStorage' property from 'Window': Storage is disabled inside 'data:' URLs.(…)(anonymous function) @ VM1085:1`

但是,如果你使用postMessages与开启者交谈,你仍然可以与客户端存储通信,但为​​什么还要麻烦 - 只需使用objectURL

但是 base64网址可以更安全,保护您的CS P

答案 2 :(得分:0)

您可以打开新窗口并按如下方式写入:

var myNewWindow = window.open("about:blank");
myNewWindow.document.write("HTML code to be displayed in the new window");