2016-09-04 3 views
-1

次の手順に従います。Javascript "value = ..."は空白のページを返します

ステップ1:googleから

  1. 移動します。
  2. javascriptコンソールを開きます。
  3. のコマンドを入力します。「Q」(検索フィールド)の名前を持つ要素は、「こんにちは」に設定されている予想したように)document.all.q.value = "hello"

を。 See image

ステップ2:googleから

  1. 移動します。
  2. アドレスバータイプで
  3. javascript: document.all.q.value = "hello!"
  4. を押して、ブラウザは、Internet Explorer、またはGoogle Chromeのいずれかである場合

を入力し、Javascriptを除いて、完全に空白のページでGoogleのウェブサイトを置き換えているでしょう"こんにちは"という言葉。

Lazy? Here's an image.

最後に今、あなたは、あなたのブラウザを盗聴したこと

は、Google.comに戻ってステップ1を繰り返します。あなたは、エラーメッセージが表示されなければならない「キャッチされないのReferenceError:文書が定義されていません(...)VM83:1 See image

質問:

まだ使用している間、私は何か間違ったことをやって働く別の方法があるのですか? JS入力用のアドレスバー?

+0

ラーメンチェフと銃マスター! :) – Sancarn

答えて

-1

あなたが最後

javascript: document.all.q.value = "hello!"; window.history.back(); 
+0

私はそれを試して、奇妙なことが起こった。最初にテキストが入力されたらすぐに削除されました:P とにかく、Quentinのソリューションは完璧に機能します!しかし、あなたのおかげで:) – Sancarn

1
window.history.back();を追加する必要がありますので、ブラウザ、新しいページとしてそれを扱う(ないほとんどの場合)、いくつかのadressbarに javascript:いじりとき

javascript:スキームURLの目的は、JavaScriptを使用して新しいページを生成することです。それを使って既存のページを変更することは、何かのハックです。

document.all.q.value = "hello!";評価値が"hello!"であるため、そのURLにアクセスすると、hello!のテキストのみで構成される新しいHTMLドキュメントが生成され、既存のページの代わりに読み込まれます。

これを避けるには:JSが文字列を返さないようにします。 voidを使用してこれを行うことができます。

javascript:void(document.all.q.value = "hello!"); 
+0

私は見る!すべての情報をありがとう!そして確かに今はうまくいく!また、void()関数については決して知らなかった。本当にありがとう! – Sancarn

関連する問題