― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2014年6月24日(火) 12:09 
オフライン

登録日時: 2008年4月25日(金) 17:24
記事: 35
どのバージョンからかは分からないですが、ブックマークレット(単純にalert()のみのようなものでも)が通常のWebサイトを開いた画面ではなく、例えば"about:config"のような画面だと動作しなくなりました。

これは何か仕様変更の影響なのでしょうか。(もしかしてhttps:のサイトと同様セキュリティ関連?)
Webサイトの画面からは普通に使えているので、それほど問題ではないのですが、個人的にホーム画面を"about:〜"の画面にしていることもあって、若干使い勝手が悪く感じています。
もし何か動作できるようにする対応策のようなものがありましたら、教えていただけると助かります。

_________________
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2014年6月30日(月) 08:25 
当方、十分な知識を持ち合わせているわけではありませんが、リプライがないようなので、場つなぎ的に......。

一般的に「ブックマークレット」は、ブラウザが読み込んだ Web ページに対して、ユーザーが任意に実行する簡易的なプログラムですよね。
個人的には、Firefox の about: 項目のページに対してブックマークレットを実行したことはないのですが、次の記述が気になって少々試してみました。

ma2ten さんが書きました:
どのバージョンからかは分からないですが、ブックマークレット(単純にalert()のみのようなものでも)が通常のWebサイトを開いた画面ではなく、例えば"about:config"のような画面だと動作しなくなりました。

ということは、以前(具体的なバージョンは不明?)は about:config に対しても動作していた、と読めますが、そうなのでしょうか?
このあたりがどうも気になったわけです。

テストには、次のブックマークレット(X)を共通のサンプルとして使いました。
javascript:alert("hello_world");

現時点での当方の常用環境は Windows 8 Pro (64bit) + Firefox 30.0 / 24.6.0ESR です。
この条件下では、about:config や about:plugins などいくつかの about: ページに対して、ブックマークレット(X)は動作しませんでした。(通常モードとセーフモードで確認。)

テスト用に取り置いてある Windows XP 機には、古いバージョンの Firefox があるので、そちらでもテストしてみました。
Windows XP SP3 (32bit) 上にある Firefox 17.0.11ESR / 10.0.12ESR / 3.6.28 のいずれのバージョンでも、about:config や about:plugins などの about: ページに対して、ブックマークレット(X)は動作しませんでした。(こちらも通常モードとセーフモードで確認。)

この結果だけを見るなら、もし以前は about:config などの about: ページでブックマークレットが動作していたのだとすれば、少なくとも Firefox 3.6 より前のバージョンということになろうかと思われます。
あるいは、途中のバージョンで一時的に実行可能な状態になっていた可能性も否定はできませんが、全バージョンを確認する余裕はありませんでした。

【補足】
Firefox のバージョンによって、標準的に持っている about: 項目には違いがありますが、例えば次のような項目ではブックマークレット(X)が動作しました。(古いバージョンには存在しない項目もありますが、まとめて列記します。)

about:cache
about:credits
about:home
about:logo
about:license
about:mozilla
about:rights
about:robots
about:sync-log

一口に about: 項目とはいっても、その内容は一律ではありません。
ざっと見渡しただけですが、主に Firefox の UI に関連する Chrome 的な要素を表示する about: 項目に対しては、ブックマークレットは動作しないようになっているみたいです。
一方、既存情報を単純に表示するだけの Content 的な要素に対しては、ブックマークレットが動作するように見受けられます。

ブックマークレット自体も、一様ではありません。
今回テストに使ったような alert() のみの単純なものから、もっと複雑なものまであります。
ブックマークレットの利点のひとつは、サイトから提供されるものをシロウトでも手軽に使えることですが、このことは逆に、"ユーザーが自覚しない不適切な動作を不用意に実行してしまうリスク" をも内包しているといえるのではないでしょうか。
そう考えると、動作対象となるページの内容に変更を加えたり、外部に送信したりするようなプログラムが、Chrome 的な要素を持つ about: 項目に対し安易に実行できてしまうのは、ブラウザの標準的な動作として望ましいこととは思えなくなります。

ma2ten さんが書きました:
これは何か仕様変更の影響なのでしょうか。(もしかしてhttps:のサイトと同様セキュリティ関連?)

Firefox の近ごろのバージョンで仕様変更があったかどうかは存じませんが、セキュリティ上の標準的な動作として、ブックマークレットの実行が無原則に許可されているわけではない、と考えたほうがいいように思います。
逆に、これまでそのような制限を回避する手立てを導入していたが、近ごろのバージョンの仕様変更でそのハックが効かなくなり、標準の状態に戻ってしまった ―― という見方もできます。そのようなことに心当たりはありませんか。

ma2ten さんが書きました:
Webサイトの画面からは普通に使えているので、それほど問題ではないのですが、個人的にホーム画面を"about:~"の画面にしていることもあって、若干使い勝手が悪く感じています。
もし何か動作できるようにする対応策のようなものがありましたら、教えていただけると助かります。

どのようなページに対して、どのような動作を実行したいのか、以前はどんなふうに動作していたのか、そうしたことを具体的に説明されたほうが、代替案などのアドバイスが寄せられやすくなるのではないでしょうか。

とりあえず以上です。的外れな話だったらすみません。

_________________
Mozilla/5.0 (Windows NT 6.2; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2014年6月30日(月) 10:32 
オフライン

登録日時: 2008年4月25日(金) 17:24
記事: 35
偶然的通行人さん、レスをありがとうございます。
私もあらためて古いバージョンで確かめてみたのですが(最初にやっとけ)、どうやらFirefox11からできなくなったようです。
(Firefox10ではOKでした。もっと最近まで可能だったように思っていたのですが……)

ちなみに件のabout:ページはアドオンで追加される"about:mybookmarks"です。
内部的に生成した静的な(?)HTMLページが表示されます。

一応11のリリースノートもざっと眺めてみたのですが、何が影響しているのかちょっと分かりませんでした。
まぁabout:ページからブックマークレットを使用するという使い方は一般的では無いでしょうから、仕方無いかもしれませんね。

_________________
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 3 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[63人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean