javascript ブックマークレットに付いて


例えば、下記のページの様に、外部ファイルを読み込ませようとするのですが、上手く動作しないページがあります。
http://stabucky.com/wp/archives/1818

その理由と、解決策を教えて下さい。

上手く動作しないページの1つが、facebookです。

読み込む外部のjsファイルには、alert(123);
としか書いていない物で試しています。

yahooやgoogleなどでは、
きちんと 123 のアラートが表示されます。

宜しくお願いします。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2016/03/26 18:58:00
  • 終了:2016/03/26 21:50:49

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4325ベストアンサー獲得回数17732016/03/26 19:55:03

ポイント100pt

多分、期待通りに動かないページは https で、動くページは http なんだと想像します。
そういうの、Mixed content って言います。
混在コンテンツ - Security | MDN

https なページでは、https ではないところに置かれた .js や .css の読み込みをブラウザがブロックします。

解決策は三通りあります。

  • 外部スクリプトを https なところに置く
  • ブラウザの設定で、mixed content のブロックを外す
  • 外部スクリプトを読み込むのではなく、動かしたいコードを Bookmarklet に書く
他15件のコメントを見る
id:a-kuma3

なにか特殊な方法で実行できる事がわかりましたら教えて下さい。^^

Bookmarklet ってことは、自分だけで使う用途ってことですよね。
Fiddler っていうデバッグとかに便利なローカルに立てる Proxy があるんですけど、レスポンスヘッダの削除ができます。
http://docs.telerik.com/fiddler/KnowledgeBase/FiddlerScript/ModifyRequestOrResponse

常に Fiddler を通すのはどうもなあ、ということであれば、pac ファイルを用意して facebook だけ Fiddler を通すようにするとか。
https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7%E8%87%AA%E5%8B%95%E8%A8%AD%E5%AE%9A#PAC_.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB

2016/03/26 22:12:09
id:worldtravel

ありがとうございます。
自分だけではなく、ある機能を作って、広く一般に公開しようとしていました。
ただ、こういった事が出来るとなると、
何れ殆どのサイトでブロックされて使えなくなってしまうのかな....と。
ですので、今後どうするかは検討中です。

2016/03/26 22:18:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません