2010-05-29 35 views
1

我在思考一個系統中,我允許用戶創建Javascript的授權部件供其他用戶在他們在我的網站的儀表板嵌入。我想相當嚴格限制這些小部件,這樣的iframe保持自身獨特的主機名各會存在:與編號47的小部件是可訪問的w47.widgets.example.com,例如。我可以將明確的Javascript方法授予其他主機iframe嗎?

對於許可授予對話框等,允許窗口小部件調用由父窗口顯式授予的非常特定的方法,而不授權iframe執行任何它喜歡的與用戶的父窗口上的父框架代表。

是否有可能在一個父文檔明確允許某些方法調用到不同的主機上的子文檔?

回答

1

您可以用postMessagereceiveMessage創建自己的協議,讓你想通過什麼。但是,如果您有各種各樣的瀏覽器支持,這可能不適用於您。舊的瀏覽器(例如IE 7及以下版本)需要一種解決方法來執行這種技術,這是一種討厭的方法。

+0

哦,那是幻想!我發現[一個jQuery插件](http://benalman.com/projects/jquery-postmessage-plugin/),似乎爲我實現了跨瀏覽器的解決方法。謝謝! – Matchu 2010-05-29 20:00:57

+0

該插件效果很好,只要確保網址匹配即可。由於需要匹配服務器端和客戶端的url,我花了2天的時間在所有瀏覽器中完成所有這些工作,即使插件也是如此 - 我需要設置一個雙向通信通道,所以它有點d。。但絕對有可能。 – x1a4 2010-05-29 20:07:24

相關問題