我正在使用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
块时,错误消失了,所以似乎是那行。
我假设 zeroclip javascript 中有一些东西在 iframe 之外冒泡到父级,但我找不到任何随手的东西。 想知道是否有其他人解决了这个问题。 谢谢!
每当 Flash 对象嵌入到跨域 iframe 中时,它都会引发跨域异常。
例如,查看这个嵌入了iFrame的jsfiddle:http://jsfiddle.net/bkCdB/
<object width="420" height="315"><param name="movie" value="http://www.youtube.com/v/6V_DsL1x1uY?version=3&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&hl=en_US" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>