質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

568閲覧

input type=textに値を入れたらクロスサイトスクリプトエラーが出ます

soda346

総合スコア18

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

2クリップ

投稿2019/09/16 10:28

ブックマークレットからフォームに文字列を入れたい

特定のサイトのフォームを自動で埋めるスクリプトを書いています。

メールアドレス用の input type=text 要素の value 属性に値を入れたら以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

A parser-blocking, cross site (i.e. different eTLD+1) script, https://hoge.js, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details.

該当のソースコード

HTML5

1<!-- /.tipView --> 2<input type="text" name="mail" id="mail" maxlength="64" value="" class="txtbox empty" placeholder="連絡用メールアドレス" tabindex="10">

JavaScript

1const mailEle = document.querySelector("#mail"); 2mailEle.value = 'foo@bar.com'

試したこと

Developer Tool のコンソールから値を入れると正常に機能します。
しかし、ブックマークレットから行うと上記エラーが出ます。

ブックマークレットからは無理でしょうか?
もしそうであれば、他の手段を教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2019/09/16 11:36

ブックマークレットとしては、どのようにコードを書いて実行しましたか?
soda346

2019/09/16 11:51

はじめまして。 コードはこんな風です。 javascript:(function() { // 上記コード })(); 他の要素の value 属性には値が入ります。 上記の input 要素だけ、エラーが出ます。
soda346

2019/09/16 12:00

※上記の input 要素への処理だけ排除すれば普通に機能します。 (他の要素には値が入ります)
x_x

2019/09/17 03:13

他の要素とは? 「上記コード」以外にも何かあるのでしょうか?
x_x

2019/09/17 03:46

エラーメッセージを参照すると、低速回線使用時に document.write() によるスクリプトの挿入をブロックするというもののようですが、どこかで document.write() を使っているのでしょうか?
Lhankor_Mhy

2019/09/17 06:35

IEのURL文字数制限が小さかったころは、長いコードのブックマークレットを作るのに、コードをサーバにおいて、script要素を挿入する、という形式のブックマークレットが流行りました。 たとえば、はてなラボにあるhatena::letもそういうサービスです。 http://let.hatelabo.jp/help 類似の現象が起きているのではないでしょうか?
soda346

2019/09/19 09:42

x_x 様、遅くなり済みません。 回答ありがとうございます。 >「上記コード」以外にも何かあるのでしょうか? はい。input text とか radio とか。 それらは value に値が入ってくれます。 >どこかで document.write() を使っているのでしょうか? いえ。使っていません。
soda346

2019/09/19 09:45

Lhankor_Mhy さま、遅くなり済みません。 リンク先を参照してやってみます。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問