2016-07-24 141 views
1

我遵循一個論壇,人們張貼很多鏈接。我使用javascript和tampermonkey(擴展名爲chrome)創建了一個腳本,它首先在新選項卡中打開所有未讀的線程,然後查找包含鏈接的未讀帖子並在新選項卡中打開這些鏈接。如何使用javascript和tampermonkey跨域發送數據?

這個腳本爲我節省了很多時間,它工作得很好。不過,我想改進它。

我想更改剛剛打開的頁面的標題,以便顯示發送到此頁面的鏈接所在的線程的名稱。例如:

在「Fruits」主題上,有一個鏈接爲網站「www.apple.com」打開一個新選項卡。我想將此頁面的標題更改爲「水果 - 頁面的名稱」,這樣我就可以知道這個鏈接來自哪個線程。

當我的腳本在論壇域內導航時,我使用localstorage和sessionstorage從一個頁面發送信息到另一個頁面,但我不知道我可以用什麼來發送跨不同域的信息。

此外,我想知道是否有辦法告訴篡改密鑰根據打開的鏈接運行腳本。

我確實知道如何更改頁面的標題,問題是使用論壇域上的線程名稱,並使用它來更改不同於域的新標籤頁上的標題論壇域名。

+0

您可以使用'document.title =「abc」'設置'文檔'的標題' – guest271314

+0

謝謝,但我的問題不是改變標題,而是傳遞論壇域中的線程名稱到另一個不同域中的新選項卡,以便我可以使用它來更改頁面的標題。 – user3347814

+1

設置相同的腳本以在所有相關頁面上運行。然後,您可以使用'GM_setValue()'和'GM_addValueChangeListener()'跨域從一個腳本實例通信到另一個腳本實例。 –

回答

0

Localstorage不允許在不同的域上訪問。您需要將數據存儲在數據庫服務器中。最簡單的是註冊一個數據庫服務,它提供了可以使用的API。如果您要自己託管,則必須編寫自己的腳本,以允許CORS提供對數據庫服務器的訪問。