GVKun编程网logo

windows-8 – 为什么像KnockoutJS这样的第三方javascripts不会通过Windows App Certification Kit?

16

在本文中,我们将详细介绍windows-8–为什么像KnockoutJS这样的第三方javascripts不会通过WindowsAppCertificationKit?的各个方面,同时,我们也将为您带

在本文中,我们将详细介绍windows-8 – 为什么像KnockoutJS这样的第三方javascripts不会通过Windows App Certification Kit?的各个方面,同时,我们也将为您带来关于javascript eval()失败与window.external.notify(),适用于window.alert()、JavaScript Window Location、javascript window.location 对象、JavaScript window.location对象的有用知识。

本文目录一览:

windows-8 – 为什么像KnockoutJS这样的第三方javascripts不会通过Windows App Certification Kit?

windows-8 – 为什么像KnockoutJS这样的第三方javascripts不会通过Windows App Certification Kit?

当我在jQuery中进行DOM操作时,我知道MSApp.execUnsafeLocalFunction问题,但即使是jQuery link here的修改版本也无法通过Windows存储进行验证.

这里的模式似乎是我所有的Nu​​get拉出的脚本都无法验证.有人为什么这么说?

Error Found: The bytecode generation test detected the following errors:

File \\?\C:\Program Files\...\Scripts\require.js has JavaScript Syntax or other problems.
File \\?\C:\Program Files\...\Scripts\r.js has JavaScript Syntax or other problems.
File \\?\C:\Program Files\...\Scripts\knockout-2.2.0.js has JavaScript Syntax or other problems.
File \\?\C:\Program Files\...\Scripts\knockout-2.2.0.debug.js has JavaScript Syntax or other problems.
File \\?\C:\Program Files\...\Scripts\knockout.mapping-latest.js has JavaScript Syntax or other problems.
File \\?\C:\Program Files\...\Scripts\knockout.mapping-latest.debug.js has JavaScript Syntax or other problems.
File \\?\C:\Program Files\...\Scripts\jquery-1.8.3.js has JavaScript Syntax or other problems.

解决方法

尝试使用UTF8字节顺序标记(BOM)编码保存文件.我有一个类似的问题,这解决了这个问题.

in VS > File Menu > Advanced Save Options > select UTF-8 with
signature Codepage 65001

http://msdn.microsoft.com/en-us/library/windows/apps/hh849088.aspx
不是特定于您的问题,而是字节码缓存.

HTH

javascript eval()失败与window.external.notify(),适用于window.alert()

javascript eval()失败与window.external.notify(),适用于window.alert()

在WP8上,如果我执行(1):
Microsoft.Phone.Webbrowser wb;
wb.InvokeScript("eval","window.external.notify('abc');");

它抛出一个“调用的目标返回错误”,未知错误,hresult 80020101.
但(2)

wb.InvokeScript("eval","window.alert('abc');");

工作正常,并显示消息框.

和(3)

wb.InvokeScript("eval","( function (){window.external.notify('abc');})();");

也工作正常

我的问题是,window.external.notify()是什么,阻止eval直接调用它?它是一个函数调用,如window.alert(),因此它应该是一个有效的脚本.但是,如果在1)中有一些关于未装饰的电话的特别的东西,那么为什么3中的打包的电话可以工作?

我明白eval()是所有邪恶的根源,并且我已经阅读了其他与post()有关的SO帖子与函数定义. (我们哪里都没有SO?)但这显然是一个不同的问题.

解决方法

@H_301_24@ 我认为这与调用eval(…)的上下文有关.

如果调用eval(“window.external.notify(‘abc’);”),脚本应该在全局窗口上下文中调用.

您可以检查以下内容以引导当前上下文:

eval(“console.log(this); window.external.notify(‘abc’);”)

然后尝试以这3种方式来检查是否有关于上下文的差异.

要指定一个上下文运行,您可以使用call或apply来设置第一个参数的上下文.

JavaScript Window Location

JavaScript Window Location

window.location 对象可用于获取当前页面地址(url)并把浏览器重定向到新页面。

window.location 对象可不带 window 前缀书写。

一些例子:

  • window.location.href 返回当前页面的 href (URL)
  • window.location.hostname 返回 web 主机的域名
  • window.location.pathname 返回当前页面的路径或文件名
  • window.location.protocol 返回使用的 web 协议(http: 或 https:)
  • window.location.assign 加载新文档

window.location.assign () 方法加载新文档。

实例

加载新文档:

<!DOCTYPE html>
<html>
<body>

<h1>window.location 对象</h1>

<input type="button" value="加载新的文档" onclick="newDoc()">

<script>
function newDoc() {
  window.location.assign("http://www.w3school.com.cn")
}
</script>

</body>
</html>

 

javascript window.location 对象

javascript window.location 对象

window.location   对象用于获取当前页面的地址 (URL), 以及并把浏览器重定向到新的页面。使用的时候可不写 window 前缀
location.hostname 获取当前页面 Web 主机域名
location.pathname 获取当前页面的路径和文件名称
location.port        获取当前页面 Web 主机的端口
location.href        获取当前页面的 URL 地址
location.protocol  返回所使用的 Web 协议 (http:// 或者 https://)
location.assign ()  方法加载新的文档.





JavaScript window.location对象

JavaScript window.location对象

经常使用window.location,它的结构总是记不住,简单梳理下,方便以后查询。

示例
URL:http://b.a.com:88/index.php?name=kang&when=2011#first

属性 含义
protocol: 协议 "http:"
hostname: 服务器的名字 "b.a.com"
port: 端口 "88"
pathname: URL中主机名后的部分 "/index.php"
search: "?"后的部分,又称为查询字符串 "?name=kang&when=2011"
hash: 返回"#"之后的内容 "#first"
host: 等于hostname + port "b.a.com:88"
href: 当前页面的完整URL "http://www.a.com:88/index.php?name=kang&when=2011#first"

window.location和document.location互相等价的,可以交换使用

location的8个属性都是可读写的,但是只有href与hash的写才有意义。例如改变location.href会重新定位到一个URL,而修改location.hash会跳到当前页面中的anchor(<a id="name">或者<div id="id">等)名字的标记(如果有),而且页面不会被重新加载

注意
URL:http://b.a.com:88/index.php?name=kang&how=#when=2011#first

search: "?name=kang&how=" 第一个"?"之后
hash: "#when=2011#first" 第一个"#"之后的内容
search:"?name=kang&how="第一个"?"之后
hash:"#when=2011#first"第一个"#"之后的内容

方法

location.assign( url )
location.assign(''http://www.baidu.com''); 等同于 window.location = ''http://www.baidu.com''
这种方式会讲新地址放到浏览器历史栈中,意味着转到新页面后“后退按钮”仍可以回到该页面。
location.replace( url )
与assign方法一样,但会从浏览器历史栈中删除本页面,也就是说跳转到新页面后“后退按钮”不能回到该页面。目前IE、Chrome只是简单的跳转,只有Firefox会删除本页面的历史记录。
location.reload( force )
重新载入当前页面。force为true时从服务器端重载;false则从浏览器缓存中重载,默认值false。

您可能感兴趣的文章:
  • window.location和document.location的区别分析
  • javascript 打开页面window.location和window.open的区别
  • 关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
  • window.location.hash 使用说明
  • javascript中的window.location.search方法简介
  • window.navigate 与 window.location.href 的使用区别介绍
  • window.location.href中url中数据量太大时的解决方法
  • window.location不跳转的问题解决方法

关于windows-8 – 为什么像KnockoutJS这样的第三方javascripts不会通过Windows App Certification Kit?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于javascript eval()失败与window.external.notify(),适用于window.alert()、JavaScript Window Location、javascript window.location 对象、JavaScript window.location对象的相关知识,请在本站寻找。

本文标签: