プラグインなしでChromeのページを自動的に再読み込み


12

FirefoxまたはChromeのTabMixPlusプラグインを使用して、ページを右クリックし、[毎回再読み込み...]を選択して、間隔を選択できます。

本当に必要な場合を除いて、プラグインをインストールしたくないので、Chromeのアドレスバーに特別なものを入力できることは承知しています。

これにより、アドレスに直接入力した次のようなものが機能する可能性があると思います。

javascript:setInterval(window.location.reload(), 2000); //2 secs`

私はまだそれを管理していませんが、それを可能性として除外したくありません。

これは可能ですか?


なぜあなたはプラグインに反対していますか?あなたが心配しているのであれば、あなたが望むことを正確に行う独自のプラグインを書いてください。
ラムハウンド2013年

プラグインに反対しているわけではありません。Chromeのアドレスバーの機能についてもう少し詳しく知りたいです:)
jon

これをアドレスバーに入力してみませんか?
Toby Allen

私が持っている、参照してくださいi haven't managed it yet
jon

問題は、呼び出しlocation.reload()てページをリロードすると、Chromeに関する限り、基本的には新しいページをロードするようなものであり、コンテキストはすべて新しいです(以前に入力した内容は失われます)。したがって、コードを永続化し、ページを同じにする必要があります。これが、答えのiframeソリューションである理由です。
ShreevatsaR 2016年

回答:


13

6年後、私はこれに対する解決策を持っています!

答えはここにある他の答えに触発されています。

Edubの答えは私にとってはうまくいきませんでした。ページを何度もリロードし、setIntervaldurationパラメータを観察しませんでした。Edubの回答が期待どおりに機能しない理由がわかりません。

これは私にとってChrome 67で機能します:

javascript:document.getElementsByTagName("body")[0].innerHTML = "<iframe id=\"testFrame\" src=\""+window.location.toString()+"\" style=\"position: absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;\"><\/iframe>";reloadTimer = setInterval(function(){ document.getElementById("testFrame").src=document.getElementById("testFrame").src },10000)

フォーマットされたバージョン:

document.getElementsByTagName("body")[0].innerHTML = 
"<iframe id=\"testFrame\" 
        src=\"" + window.location.toString() + "\" 
      style=\"position: absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;\">
<\/iframe>";
reloadTimer = setInterval(
    function(){ 
        document.getElementById("testFrame").src=document.getElementById("testFrame").src
    },
    10000
)

これは、現在のドキュメントの本文をウィンドウの現在の場所を指すiframeに置き換えることで機能します。

次に、setIntervalの呼び出しが行われ、タイマーでページがリロードされます。

これはブックマークとしてうまく機能します。setIntervalの補足関数は、ブックマークでも呼び出すことができます。javascript:clearTimer(reloadTimer)

ノート:

  • 一部のサイトはiframe経由でアクセスされていることを検出し、アクセスを阻止しようとします(たとえば、Stackサイト!)

  • ブラウザjavascript:は、アドレスバーに貼り付けるときにプレフィックスを削除するため、手動で入力する必要があります。ただしjavascript:、ブックマーク経由で入力された場合は削除されません。


11

キーの組み合わせを使用してChromeデベロッパーツールから行うことができますctrl+shift+j。あなたがしたいページをロードし、例えば言う:http://www.w3schools.com/jsref/dom_obj_frame.aspはその後、ヒットctrl+shift+jの開発ツールを開きます。bodyタグを右クリックし、[htmlを編集]を選択して、内部コンテンツ(タグを残してタグを閉じたまま)を次のように置き換えます。

<iframe id="testFrame" src="http://www.w3schools.com/jsref/dom_obj_frame.asp" style="position: absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;" onload="setInterval(document.getElementById('testFrame').contentWindow.location.reload(), 10000);"></iframe>

HTMLとしての編集を停止するには、編集esc中のタグの外側のタグの1つをクリックするかクリックします。ページは10秒ごとに再読み込みを開始します。必要に応じて開発者ツールを閉じると、更新が続行され、プラグインは必要ありません:)


ジャスティンのおかげで、これはうまくいき、私は賛成票を投じましたが、私が探していた答えではないので、質問を開いたままにしておきます:)また、F12は非ですか?
jon

3

Justin Buserからの解決策をさらに一歩進めると、次のようになります。

document.getElementsByTagName("body")[0].innerHTML = "<iframe id=\"testFrame\" src=\""+window.location.toString()+"\" style=\"position: absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;\" onload=\"setInterval(document.getElementById(\'testFrame\').contentWindow.location.reload(), 10000);\"><\/iframe>"

サイトをiframeに埋め込んでリロードできるようにするという考えはうまく機能します(おそらく)。本文を取得し、innerhtmlを現在のURLのiframeに置き換えるコードを記述しました。

このようにして、JavaScriptコードをブックマークし、任意のサイトで起動してリロードすることができます。それが役に立てば幸い。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.