2012-12-05 61 views
2

我使用zClip:http://www.steamdev.com/zclip/(並試圖ZeroClipboard也同樣的結果)ZeroClipboard/ZLIP導致iframe中的Javascript不安全警告

當我從一個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加載我的小部件。複製按鈕位於小部件中。

儘管出現錯誤,複製功能似乎仍能正常工作,所以我不確定它爲什麼會出現並希望將其清除。

這是在widget我的咖啡/ JavaScript的:

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

這僅僅是標準的東西。當我評論btn.zlip塊時,錯誤消失,所以它似乎是這條線。

我認爲在zeroclip javascript中有一些東西在iframe之外冒泡,但是我無法找到任何東西。想知道是否有人解決了這個問題。謝謝!

+0

見相關:http://stackoverflow.com/q/8041009/151365 – logan

回答

0

每當Flash對象嵌入到跨域iframe中時,就會引發跨域異常。

例如,看看這個的jsfiddle嵌入一個iFrame: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>