繁体   English   中英

外部脚本在Windows Phone App 8.1中不起作用

[英]External scripts not working in Windows Phone App 8.1

我已将WebView添加到我的项目中。 如果我导航到包含外部javascript文件的html文件,则它们将无法工作。 如果我将javascript代码硬编码到html文件中,则可以正常工作。

这是html部分:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
    <script type="text/javascript" src="testjs.js"></script>
</head>
<body>
    <div id="abcd"></div>
    <br/>
    hello! this is a simple html block. 
</body>
</html>

这是JavaScript部分:

document.getElementById("abcd").innerHTML = "New text!";

当我打开网络视图时,它显示

hello! this is a simple html block.

但是,如果JavaScript代码有效,它将显示

New Test! hello! this is a simple html block.

这是文件夹结构:

在此处输入图片说明

src =“ testjs.js”是正确的。 问题与路径无关。

[更新1]

您的代码应该像我们通常用于Web开发的那样工作。 但是似乎我们需要确保脚本中使用的html元素已初始化,因此我们必须将放在body元素的末尾。 请尝试以下html代码:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> </head> <body> <div id="abcd">a</div> <br /> hello! this is a simple html block. <script type="text/javascript" src="testjs.js"></script> </body> </html> 

[更新2]

还要检查您是否已将testjs.js生成操作 testjs.js为内容。 转到解决方案资源管理器 ->右键单击testjs.js > 属性 ->将“ 构建操作”更改为“ 内容”。 这样可以确保将.js文件作为应用程序的一部分进行部署。

WebView msdn页面建议出于安全原因,您不能链接到本地​​内容,但以下情况除外:

但是,您仍然可以使用ms-appx-web方案链接到应用程序包中的HTML内容,以及使用http和https URI方案链接到Web内容。

因此,您应该能够使用ms-appx-web:///testjs.js网址链接到脚本文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM