[英]Move window to iframe without reloading
即使我點擊一個鏈接,我也不會制作一個會保留其實例的用戶腳本。
為了使腳本實例(即變量等)保持不變,我需要在iframe中使用頁面,這是運行腳本的窗口的子項。 而且,父文檔位置必須與內部文檔位置相同 - 否則我會遇到相同原始策略的問題。
那就是說,我不想這樣做:
<html>
<head>
...
</head>
<body>
...page contents...
</body>
</html>
進入這個:
<html>
<head>
...here is my userscript running...
</head>
<body>
<iframe style="width: 100%; height: 100%">
...move the whole original window here...
</iframe>
</body>
</html>
Unles鏈接有target="_blank/_parent/_top"
所有瀏覽活動都應該在內部iframe中發生,而父窗口不應該刷新(這會導致腳本丟失所有變量)。
一種方法是簡單地創建一個iframe,其中包含與我網站的網址相同的網址:
var container = document.createElement("iframe");
container.src = window.location;
但是,這種方法會導致頁面重新加載以及丟失所有數據(填充表單,滾動)。
因此,將window
的所有內容移動到iframe。 那可能嗎?
也許您可以獲取document.head.outerHTML和document.body.outerHTML的內容,將它們組合成一個字符串,base64對其進行編碼,然后使用結果構造一個dataURL,然后將其設置為iframe的src。
雖然我可以看到遞歸將這個想法變成了一種效果,類似於將一個攝像機指向屏幕顯示它的外觀。
有趣的問題。 書簽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.