相关疑难解决方法(0)

Shadow DOM可以保护我的元素吗?

目标:一个封闭的小部件

假设我是FakeBook™的朋友小部件的开发者.我为网站所有者提供了一个小部件,可以将这样的个性化消息添加到他们的页面:

你的朋友Michael,Anna和Shirley喜欢这个网页!

第一种方法:创建的脚本 span

天真地,我创建了一个脚本,将这些信息span放在网站上.但是,ExampleSite的所有者现在可以通过简单的DOM操作访问您朋友的名字!
这是一个很大的隐私/安全问题.

第二种方法: iframe

我不希望ExampleSite访问他们朋友的名字.所以相反,我让网站所有者添加小部件iframe:

<iframe src="http://fakebook.com/friends?page=http%3A%2F%2Fexample.org%2F"></iframe>
Run Code Online (Sandbox Code Playgroud)

这样做,因为ExampleSite的所有者无法刮掉内容iframe.然而,整个iframe事情相当丑陋,因为它没有融入网站的样式,而一个span.

期望的方法:Shadow DOM

在昨天阅读Shadow Dom时,我想知道这是否可以解决这两个问题.这将允许我有一个脚本,创建一个span原始网站无法访问:

var host = document.querySelector('#friends');
var root = host.webkitCreateShadowRoot();
root.textContent = 'Your friends Michael, Anna and Shirley love this webpage!';
Run Code Online (Sandbox Code Playgroud)


但是,Shadow DOM是否会将其内容隐藏在周围的页面中?
这里的假设是除了我的脚本之外没有人可以访问root,但这是正确的吗?

影子DOM规范毕竟说,它提供的功能封装,但其实我是想相信封装.虽然组件模型用例实际列出了这个用例,但我不确定Shadow DOM是否实现了nesessary confinement属性.

security dom widget web-component shadow-dom

16
推荐指数
1
解决办法
1768
查看次数

chrome.infobars Chrome Toolbar API的发布时间表

我不了解Chrome中工具栏API的状态.

根据2013-06-24 如何在Google Chrome中制作工具栏的答案,chrome.experimental.infobarsChrome中有一个API,它已经准备好变成非实验性的.

但是,如果我转到API的引用网页https://developer.chrome.com/extensions/experimental.infobars.html,则会有302 Found重定向experimental.从网址中删除该部分,而API不是( /不再记录为可访问experimental,但据说只能在dev builds(Availability: Dev channel only.),http://archive.is/yydlD中使用.这是什么意思呢?

  • 它现在总是只在开发版本中可用,或者仅仅是它被转移到非实验性的问题,即将推出的稳定版本,因此现在在开发中?

  • 如果我想开发一个工具栏,我还可以使用chrome.experimental.infobars常规稳定的Chrome吗?在dev的代码进入稳定状态后,这会继续工作吗?

  • 会不会有[稳定]编译或两个在何处使用既chrome.exprimental.infobarschrome.infobars,让我一些时间来更新我的扩展?

javascript google-chrome toolbar google-chrome-extension

4
推荐指数
1
解决办法
670
查看次数