javascript - ZeroClipboard/zlip 在 iframe 中导致不安全的 Javascript 警告

标签 javascript cross-domain zeroclipboard

我正在使用 zClip:http://www.steamdev.com/zclip/ (并尝试了 ZeroClipboard 也得到了同样的结果)

当我在 iframe 中使用它时,我收到此 javascript 错误/警告:

Unsafe JavaScript attempt to access frame with URL file://localhost/Users/me/Desktop/test.html from frame with URL http://localhost:3000/a. The frame requesting access has a protocol of 'http', the frame being accessed has a protocol of 'file'. Protocols must match.

file://localhost/Users/me/Desktop/test.html 是我设置的一个本地文件,里面有一个 iframe,它加载了我的小部件。复制按钮位于小部件中。

尽管有错误,但复制功能似乎可以完美运行,所以我不确定它为什么会出现,并且想清理它。

这是我在小部件中的咖啡/javascript:

  btn = $('#'+id)
  btn.zclip
    path: '/flash/ZeroClipboard.swf',
    copy: btn.data('copy')

这只是标准的东西。当我评论 btn.zlip block 时,错误消失了,所以它似乎是那一行。

我假设 zeroclip javascript 中有一些东西在 iframe 之外冒泡到父级,但我找不到任何东西。想知道是否还有其他人解决了这个问题。谢谢!

最佳答案

只要在跨域iframe中嵌入了一个flash对象,就会抛出一个跨域异常。

例如,查看这个嵌入了 iFrame 的 jsfiddle:http://jsfiddle.net/bkCdB/

<object width="420" height="315"><param name="movie" value="http://www.youtube.com/v/6V_DsL1x1uY?version=3&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/6V_DsL1x1uY?version=3&amp;hl=en_US" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>

关于javascript - ZeroClipboard/zlip 在 iframe 中导致不安全的 Javascript 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714501/

相关文章:

javascript - 在 IE 浏览器中,状态栏显示 JavaScript 错误

javascript 子对象和定义模式

javascript - 在使用 D3.js fork 3D Force-Directed Graph 创建的 2D 图形上的鼠标左键上添加鼠标平移

Angular 2 不使用 CORS 保存我的身份验证 Cookie

cross-domain - Camel JAX-RS 和跨域请求

javascript - Yii2 如何在 FullCalendar 中设置时间格式?

javascript - 跨域 AJAX 请求未被阻止 : is this a security vulnerability?

javascript - ZeroClipboard - 将文本复制到剪贴板不起作用

javascript - 如何使用带有动态内容和触发器的 clipboard.js 进行复制

javascript - 零剪贴板的困难