2015-11-02 48 views
1

經過逆向工程bit.ly和美味的書籤,我注意到他們都創建iframe。爲什麼bookmarklet使用iframe?

這是爲了讓小書籤可以訪問用戶的信息。我沒有看到任何其他方式,小書籤會知道誰在創建小書籤。

但是兩者都有一個模式。 Bookmarklet只是一個愚蠢的佔位符,它會調用實際的腳本。這是因爲書籤欄可以被更新,因爲拖入書籤欄的代碼有點永久。

被調用的代碼然後通過指定一個url爲bitty或delicious創建和iframe,其中還包含要保存的信息的GET參數。

回答

1

上面提到的bookmarklets可能使用iframe,因爲那樣它們可以被專門設計幷包含與網站的JavaScript不衝突的JavaScript。

正在使用GET參數將所需的數據從父窗口傳輸到子窗口,而無需跨框架腳本保護。

+0

我同意你的看法,但是你怎麼看待用戶身份。子窗口現在將具有父級的網址和標題,但它如何知道哪個用戶有點想要進行保存? –

+0

iframe加載一個包含用戶會話ID(來自上次登錄)的cookie的頁面。由此,服務器知道它是哪個用戶並且保存他或她的網站鏈接。 –

+0

它可以使用'localStorage'以及我接受? –