2013-01-18 87 views
6

我最近偶然發現了一個名爲Overlay101的網站,該網站允許您爲其他網站創建遊覽。第三方頁面上的JavaScript注入

我非常有興趣看到他們用來加載第三方網站進行編輯的技術。

當您輸入網站的地址時,它將作爲overlay101.com網站的子域加載。

例如,如果我輸入https://stackoverflow.com/questions/111102/how-do-javascript-closures-work - 它加載爲http://stackoverflow.com.www.overlay101.com/questions/111102/how-do-javascript-closures-work

我想知道的是子站點創建是如何實現的,我在這的JavaScript注入網頁的源代碼中看到的。我想知道這是怎麼可能的。

最讓我感興趣的是,Stackoverflow.com不允許頁面被加載框架 - 我想知道他們如何設法加載頁面,以便可以添加旅遊彈出窗口。

+0

我知道這不是一個嚴格的編程問題 - 但我已經到處尋找和Stackoverflow是我最後找到答案的地方! – Hirvesh

+1

請注意,您沒有在結果頁面上登錄,所以它不是一個框架。我猜想它是在抓取和粘貼HTML。此外,子域創建是URL重寫魔術;請參閱Apache的[mod_rewrite](http://httpd.apache.org/docs/current/mod/mod_rewrite.html)。 (在該頁面上不存在如何重寫子域,但我知道可以做到這一點。) –

回答

1

他們只是使用通配符DNS條目來使所有的子域名工作。然後他們使用Host標題獲取原始域名並下載網站的HTML代碼。由於他們在服務器端這樣做,他們不需要任何框架等。