加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-8 – WinJS没有卸载js / css

发布时间:2020-12-14 04:10:45 所属栏目:Windows 来源:网络整理
导读:我正在开发一个 Windows 8 Metro应用程序,我发现(即使在我没有触及代码的示例应用程序中),当您在页面之间导航时,顶级“default.html”获取每个单独的js和应用程序运行期间加载的css文件. 这让我感到很头疼,因为我的css在差异页面之间发生碰撞.我错过了什么或
我正在开发一个 Windows 8 Metro应用程序,我发现(即使在我没有触及代码的示例应用程序中),当您在页面之间导航时,顶级“default.html”获取每个单独的js和应用程序运行期间加载的css文件.

这让我感到很头疼,因为我的css在差异页面之间发生碰撞.我错过了什么或者这是严重的错误吗?

不卸载 JavaScript和CSS是一个慎重的选择,而不是意外或疏忽.

首先,要了解页面控件纯粹是一种JavaScript构造 – 浏览器引擎完全不了解它们.浏览器只看到一块由脚本动态生成的DOM.

Web平台不允许您卸载脚本文件 – 一旦它们被加载到上下文中,它们就永远存在.

使用CSS,他们可以尝试删除标签,但它会打开一堆蠕虫.根据导航到的订单页面,您最终可能会在同一个应用程序中应用不同的样式.如果两个页面引用相同的样式表怎么办?你是否两次添加相同的链接标签?你删除哪一个?

一团糟.相反,WinJS保证脚本和样式表只会被引用一次,第一次被引用.因此,您可以让应用程序中的每个页面都引用“myStyles.css”,它只会被加载一次(并且只会有一个样式标记).

那你怎么做才能防止你所看到的问题呢?首先,请记住您正在构建一个应用程序,而不是一个随意增加新内容的网站.确定您的一般风格和课程.将共享样式放在default.css中,并从default.html文件中引用它.

对于单个页面,最简单的方法是在样式前加上页面名称.代替:

<div class='intro'></div>

<div class='page1-intro'></div>

然后你保证避免碰撞.

如果您按ID引用页面元素,请不要这样做.在页面中使用ID会导致各种各样的潜在怪异(如果你同时渲染相同的页面控件两次怎么办?另外,直到页面加载到DOM之后ID才会存在,这意味着数据赢 – ID的选项引用不起作用).但是,如果你坚持,再次考虑使用页面为id添加前缀.

基本上,设置临时命名空间以防止碰撞.它比手动删除链接标记要容易得多,并且比完全导航更能提供更好的应用体验.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读