none
Iframe的页面中的js调用Windows.Security.Cryptography提示Windows未定义? RRS feed

  • 问题

  • 项目背景:javascript 开发 windows 应用商店

    一个default.html页面里有个Iframe

    Iframe的src为test.html页面

    在test.html页面里 有以下定义:

    var crypt = Windows.Security.Cryptography;

    提示 Windows未定义 。。

    2013年1月15日 9:35

答案

  • 确定你在你的test.html中引用的js  是标记为 <script type="ms-deferred/javascript" src="...."

    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    • 已标记为答案 龙九子 2013年1月17日 3:48
    2013年1月16日 7:30
    版主
  • 确定你在你的test.html中引用的js  是标记为 <script type="ms-deferred/javascript" src="...."

    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    改用另一种方案,调用这个var crypt = Windows.Security.Cryptography;放在default.html 里 ,

    生成数据后再传给IFrame里的test.html;

    这样就可以解决最初的问题。

    谢谢您的热情回复。

    • 已标记为答案 龙九子 2013年1月17日 3:56
    2013年1月17日 3:50

全部回复

  • 你有在你的test.html页面中引用了WinJS的UI和base的 js?

    或者你换用 

     <div id="test" data-win-control="WinJS.UI.HtmlControl" data-win-options="{uri: 'test.html'}"></div> 

    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2013年1月16日 2:11
    版主
  • 你有在你的test.html页面中引用了WinJS的UI和base的 js?

    或者你换用 

     <div id="test" data-win-control="WinJS.UI.HtmlControl" data-win-options="{uri: 'test.html'}"></div> 


    <div id="test" data-win-control="WinJS.UI.HtmlControl" data-win-options="{uri: 'test.html'}"></div> 

    这样写 Windows未定义 的错误没了。但是我在test.html 页面引用的外部脚本报未定义。外部脚本是百度地图的引用方式如下:

    <script src="http://api.map.baidu.com/api?v=1.4" type="text/javascript"></script>

    提示 BMap 未定义。如果用Iframe的话 就没这个错。
    2013年1月16日 4:51
  • 恩,这样使用会将液面载入当前页面空间,但是这类Baidu API 会有各种未定义,因为Baidu API 并没有针对Metro开发。

    看这个帖子:http://social.msdn.microsoft.com/forums/zh-CHS/winstoreappzhcn/thread/c0134e5b-3649-4c39-b59f-a975a9b87f63  你用iframe 然后用<script type="ms-deferred/javascript" 定义引用


    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2013年1月16日 5:41
    版主
  • 恩,这样使用会将液面载入当前页面空间,但是这类Baidu API 会有各种未定义,因为Baidu API 并没有针对Metro开发。

    看这个帖子:http://social.msdn.microsoft.com/forums/zh-CHS/winstoreappzhcn/thread/c0134e5b-3649-4c39-b59f-a975a9b87f63  你用iframe 然后用<script type="ms-deferred/javascript" 定义引用


    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    如果用Iframe的话 就会出现最开始我说的那个问题:

    在test.html页面里 有以下定义:

    var crypt = Windows.Security.Cryptography;

    提示 Windows未定义 。。

    2013年1月16日 6:08
  • 确定你在你的test.html中引用的js  是标记为 <script type="ms-deferred/javascript" src="...."

    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    • 已标记为答案 龙九子 2013年1月17日 3:48
    2013年1月16日 7:30
    版主
  • 确定你在你的test.html中引用的js  是标记为 <script type="ms-deferred/javascript" src="...."

    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    改用另一种方案,调用这个var crypt = Windows.Security.Cryptography;放在default.html 里 ,

    生成数据后再传给IFrame里的test.html;

    这样就可以解决最初的问题。

    谢谢您的热情回复。

    • 已标记为答案 龙九子 2013年1月17日 3:56
    2013年1月17日 3:50