0

私が働いている会社は、私たちの国で DNS 設定を更新したため、完全修飾ドメイン名のない多くの古いリンクが機能しなくなりました。

前:
http://server:8080/something

後:
http://server.company.com:8080/something

しかし、他の国やサーバーは依然として古い形式を使用しており (今後数年間で移行される予定です)、メールやチャットで多くの古いリンクを受け取り、それらをクリックしてもブラウザーで開くことができません.

次のような古い URL を新しい URL に置き換えるブックマークレットを作成したいと思います。

javascript:window.location.href=window.location.href.replace(/(^http:\/\/[^.]*):/,'$1.company.com:')

残念ながら、ページが読み込まれてwindow.location.hrefおらず、置き換える URL が含まれていないため、ブックマークレットは機能しません。

ブラウザのロケーション バーに入力された URL にアクセスできますか?

それとも方法がなく、そのためのブラウザ拡張機能を作成する必要がありますか?

4

2 に答える 2

0

ボタンを押すだけで正しいページが開きます。この拡張機能の関連部分を次に示します。

マニフェスト.json

{
    "manifest_version": 2,
    "name": "Name of extension",
    "permissions": [
        "activeTab"
    ],
    "background": {
        "scripts": ["script.js"],
        "persistent": false
    },
    "browser_action": {
        "default_icon": "icon.png",
        "default_title": "Tooltip for button"
    }
}

script.js

chrome.browserAction.onClicked.addListener(function(tab) {
    var $before = tab.url,
        $after = $before.replace(/(^http:\/\/[^.:\/]*)([:\/])/,'$1.company.com$2');
    if ($before !== $after) {
        chrome.tabs.update(tab.id, {url: $after});
    }
});
于 2013-06-14T15:05:42.023 に答える