zoukankan      html  css  js  c++  java
  • Local 和 Web Contexts的学习

    Programming Windows 8 Apps with HTML, CSS and JavaScript 2Ed 77页:

    1. Metro 应用的主页(就是启动后的第一屏)总是运行在Local Context下的,而且通过<a href>标记或者document.location要转到的其他页面的必须也是在Local Context 下的。但是内嵌的iframe的页面,可以使Local的也可以是Web Context的。

    2. 一个Web Context的页面,只能内嵌Web Context 的iFrame。

    所以,作者有了如下总结:

    假如源页面是Local Context的,那么

    • <iframe src="ms-appx:///" 这个是合法的,因为Local Context里面允许2种类型的iFrame。
    • <iframe src="ms-appx-web:///" 这个是合法的,因为Local Context里面允许2种类型的iFrame。
    • <iframe src="http[s]://" 这个是合法的,因为Local Context里面允许2种类型的iFrame。
    • <a href="[someURL]" target="myFrame"> <iframe name="myFrame"> 这个是合法的,因为Local Context里面允许2种类型的iFrame。
    • <a href="ms-appx:///"> 这个是合法的,因为Local Context里面允许Local Context的直接Navigation。
    • <a href="ms-appx-web:///"> 这个是不合法的,因为Local Context里面不允许Web Context的直接Navigation。
    • <a href="[remoteURL]"> 这个没有合不合法一说,因为目标页面是外部页面,即不是以ms-appx开头的,所以Metro应用会打开浏览器显示目标页面。

    假如源页面是Web Context的,那么

    • <iframe src="ms-appx:///" 这个是不合法的,因为Web Context里面不允许Local Context的iFrame。
    • <iframe src="ms-appx-web:///" 这个是合法的,因为Web Context里面允许Web Context的iFrame。
    • <iframe src="http[s]://" 这个是合法的,因为Web Context里面允许Web Context的iFrame。
    • <a href="[someURL]" target="myFrame"> <iframe name="myFrame"> 这个是合法的只要URL是ms-appx-web开头。
    • <a href="ms-appx:///"> 这个是不合法的,因为Web Context里面不允许Local Context的直接Navigation,但是你可以通过调用MSApp.addPublicLocalApplicationUri("ms-appx:///frame-local.html");解决。
    • <a href="ms-appx-web:///"> 这个是合法的,因为Web Context里面允许Web Context的直接Navigation。
    • <a href="[remoteURL]"> 这个没有合不合法一说,因为目标页面是外部页面,即不是以ms-appx开头的,所以Metro应用会打开浏览器显示目标页面。

    除此之外,Web Context的页面是无权使用Broker对象的(照相机啊,GeoLocation啊),微软这么设计的原因就是他认为Web Context是不安全的,因为他们可以随意导航到外部页面。你只有手动的把他们加到信任列表里面才行。



  • 相关阅读:
    HDOJ 2095 find your present (2)
    HDOJ 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
    九度 1337 寻找最长合法括号序列
    九度 1357 疯狂地Jobdu序列
    HDOJ 1280 前m大的数
    九度 1343 城际公路网
    九度 1347 孤岛连通工程
    HDOJ 2151 Worm
    九度 1342 寻找最长合法括号序列II
    九度 1346 会员积分排序
  • 原文地址:https://www.cnblogs.com/puncha/p/3876975.html
Copyright © 2011-2022 走看看