none
タブのあるwebページをmhtで保存、このmhtをコピー。回線断であってもコピーしたmhtの全てのタブを見ることができるようにして欲しい。 RRS feed

  • 質問

  • 1. タブのあるwebページの例
     1a. http://www.nero.com/jpn/tools-utilities.html
     1b. http://www.nvidia.co.jp/object/win7-winvista-32bit-258.96-whql-driver-jp.html

    2. 当方のパソコン:Vista SP2、Internet Explorer 8

    3. 不具合の手順例
     3a. 1a.のページをIE8で表示する。mht (Webアーカイブ、単一のファイル) で保存する。このmhtをどこかにコピーする。
     3b. ローカルエリア接続を断にする。3a.の初めのmhtをクリックして表示させる。いくつかのタブが見え、タブを切り替えると、各タブの内容が表示される。
     3c. ローカルエリア接続を断のままにする。3a.のコピーしたmhtをクリックして表示させる。いくつかのタブが見えるが、タブが切り替わらず、各タブの内容が表示されない。

    4. 保存したmhtを他の場所に移動(=コピー)することはよくあること。パソコンを立ち上げ、回線を繋がず、mhtを見ることはよくあること。mhtを保存する目的の1つは、その時の説明を手元に置くことにある。その時からしばらくすると、元のwebページが変更されていたり、無くなっていたりすることはよくあること。いつでも、コピーしたタブのあるmhtをきちんと表示できるようにして欲しい。

    2010年9月10日 12:12

回答

  •   『引用』

    1. タブのあるwebページの例
    1a. http://www.nero.com/jpn/tools-utilities.html
    1b. http://www.nvidia.co.jp/object/win7-winvista-32bit-258.96-whql-driver-jp.html

    2. 当方のパソコン:Vista SP2、Internet Explorer 8 <---当時

    3. 不具合の手順例
    3a. 1a.のページをIE8で表示する。mht (Webアーカイブ、単一のファイル) で保存する。このmhtをどこかにコピーする。
    3b. ローカルエリア接続を断にする。3a.の初めのmhtをクリックして表示させる。いくつかのタブが見え、タブを切り替えると、各タブの内容が表示される。
    3c. ローカルエリア接続を断のままにする。3a.のコピーしたmhtをクリックして表示させる。いくつかのタブが見えるが、タブが切り替わらず、各タブの内容が表示されない。

    4. 保存したmhtを他の場所に移動(=コピー)することはよくあること。パソコンを立ち上げ、回線を繋がず、mhtを見ることはよくあること。mhtを保存する目的の1つは、その時の説明を手元に置くことにある。その時からしばらくすると、元のwebページが変更されていたり、無くなっていたりすることはよくあること。いつでも、コピーしたタブのあるmhtをきちんと表示できるようにして欲しい。

    ----------

    パソコンは同じで、Windows 7 SP1 および Internet Explorer 9 で、1a. や 1b. に付き、3c. を表示させると、ページ内のタブの内容が正常に表示されました。IE9で解決したと思います。解決して有難く思っています。

    • 回答としてマーク tnk081116 2011年6月29日 13:29
    2011年6月29日 13:29

すべての返信

  • 5. 先の1a.および1b.のページをmhtで保存する。パソコンを落とす。
    6. 翌日パソコンを入れる。回線は断のまま。保存したmhtをクリックして表示させると、各タブは正しく表示される。
    7. インターネットオプション ウインドウでインターネット一時ファイルを削除する。保存したmhtをクリックして表示させると、各タブは正しく表示される。
    8. 保存したmhtを、HDDの同じドライブ内の別のフォルダに、エクスプローラでドラッグして移動(コピーでない)させる。このmhtをクリックして表示させると、各タブは正しく表示される。
    9. 以上、回線断において、mhtの移動ではタブ表示はOKであるが、mhtのコピーではタブ表示はできない。webページは変更されたり、なくなったりするのであるから(即ち、諸行無常)、コピーしたタブのあるmhtをきちんと表示できるようにして欲しい。
    2010年9月11日 1:09
  •  まず、nero のページですが、問題の箇所は次のようになっています。

    <li><a href="#tab1" mce_href="#tab1"><span>InCD/<br />

     これを mhtml に保存し、表示、ソースを確認すると、次のようになっています。

    <li><a href="http://www.nero.com/jpn/tools-utilities.html#tab1" mce_href="#tab1"><span>InCD/<br />

     この様に、href 属性の値が #tab1 として保存されていれば、インターネットに繋がっていなくてもリンク先の表示が出来ますが、URI が http を使用したインターネット アドレスになっているため、繋がっていなければならない、ということです。「オフライン作業にすると見える」のは、キャッシュから持ってきているのでしょう。キャッシュにヒットする条件がわかりませんが。なお、「Web ページ」でも「Web アーカイブ」でも、同じように変換されていました。

     次に、nvidia の方です。同じようにソースを見ると、こちらはスクリプトで制御しています。そして、タブの、おそらくバックグラウンドだと思うのですが、絵を換えるために、インターネットにアクセスしているようです。この URI は動的に組み立てられています。


     ここで、2つのページについて、現象は同じだけれど、原因が複数あることがわかりました。1つ目は「リンク先が同じ文書であるが、保存時にインターネット アドレスに変換されること」、2つ目は「リソースのアドレスを動的に組み立てるため、必要なときにならないとリソースを読み込む先がわからないこと」です。

     この原因を、技術的に解決する方法があるか、考えます。1つ目の問題は、「リンク先が同じ文書であること」を検出できれば、解決できそうです。しかし、「リンク先も、その文書を表現するリソースとして読み込む」事には、無理があります。例えば、検索ページの検索結果を保存しようとすると、とんでもないことになることが予想されるでしょう。MHTML の仕様的には、リンク先の文書をアーカイブにまとめるかどうかは、実装に任されているようです(英語を正しく読めたか、自信がありません)。

     「リンク先を変更せずに保存する」ということは、出来ません。元のソース コードで、リンク先がどの様に表現されているかはわかりません。たいていの場合、相対パスか、サーバーでの絶対パスで書かれています。これらの場合、ローカルの相対パスや絶対パスを探すと、文書が見つからないことになってしまいます。その為、どの様に書いてあるかわからないリンク先が、「自文書を指しているかどうか」だけを判断しなければなりません。また、自文書であったとしても、自文書がサーバーで動的に作られる文書であった場合、与えられるパラメーターによって違う結果が返ってくるかもしれません。となると、やはりリンク先には、その都度アクセスする必要があるように思われます。

     2つ目については、私には解決策がわかりません。動的に組み立てるトリガーを網羅すること、あるいはソース コードからその要因を見つけ出すことが出来る or 容易であるとは思えないからです。


     タブとして表現する方法は、他にもいくつかあります。その方法によって、問題となることが変わってくるでしょう。この様な理由で、タブで表現されているページのいくつかはローカルに完全に保存できる(技術的解決方法がある)でしょうが、いくつかは、依然として保存できないでしょう。今回上げられたふたつのページは、必要な情報はローカルに保存できています(ソースを確認すればわかります)。しかし、表示上の見栄え(タブによる表現)のために、インターネットへの接続が必要という、何とも残念な結果になっているように思われます。

     一昔前には、「基準ページから、同じサーバーにあるリンク先を丸ごと巡回してローカルに保存する」ようなツールがありましたが、回線速度が高速化してから、見かけなくなりましたね。って、あるわ→Download & Search Bee(impress.co.jp)、Web自動巡回(vector.co.jp)


    Jitta@わんくま同盟
    2010年9月15日 12:32
  • (以下はすべて IE8 にて)
    10. 先の 1a. および 1b. のページを 完全 htm で保存する。回線を断にする。
    11. 保存した 完全 htm を、HDDの別ドライブにコピーする。
    12. 回線は断のまま、コピーした 完全 htm をクリックして表示させる。
     1a. に関しては、タブをクリックすると各情報が正しく表示されるので、OK。
     1b. に関しては、表示は崩れるが、『リリースハイライト』『製品サポートリスト』『追加情報』の文字の所をクリックすると、各情報が表示されるので、なんとかOK。
    13. タブのあるwebページを 完全 htm で保存すると、これをコピーしてもだいじょうぶなことが分かった。しかしながら、単一 mht は 完全 htm より取り扱い性が優れているのであるから、『タブのあるwebページの 単一 mht のコピーを、回線断において、きちんと表示できるようにして欲しい。』
    2010年9月19日 23:59
  •  大変難しいですね。

     『タブのあるwebページの 単一 mht のコピーを、回線断において、きちんと表示できるようにして欲しい。』という要望が受け入れられるとは思えません。理由は、「きちんと表示」を、どこまで要求するか、明確でないからです。技術的な観点では、「きちんと」という言葉は、曖昧な言葉です。現在の状態でさえ、「きちんと表示されている」と、言えなくありません。先の返信で示したように、タブ ページはリンクとして表現されているため、単一の文書であると判断できないからです。私個人は、子どもに「きちんと{座りなさい|しなさい}」というようなことは、言わないようにしています。「きちんと~している」という状態がどういうものか不明瞭だし、そういう言葉を使いたいときに本当に要求したい事象は、他のとこであることが多いからです。

     MHTML の規格は、MIME のマルチパートを利用して、HTML 文書を(主に電子メールで)送信することを目的としています。この時、送信する文書は自分で作るわけですが、リンク先がどの様な区分になるかは、文書を作った人にしかわかりません。すなわち、参照としてリンクを提示するのか、続きの文書としてリンクを埋め込んだのか、大元の HTML 作成者以外が HTML だけから判別することは、ほぼ不可能です。著作権のない文書をアーカイブにまとめることは、もしかすると、著作者の権利を侵害することになりかねない、ということです。

     そういう諸々の事情も含めて要望するなら、「同一ホスト上にあるファイルなら、全てアーカイブにまとめる」、「同一ホスト上にあるファイルで、指定のリンク数までのファイルをアーカイブにまとめる」という風になろうかと思います。なお、「タブページ」とおっしゃいますが、それは表現手法の一つに過ぎません。先にも書いたように、nero の方は、(同一ページへの)リンクとして表現されています。別の文書に移るわけですから、単一アーカイブにまとめられていないというのは、MHTML の仕様的に許容されています。

     RFC-2557 の introduction だけを、機械翻訳を通して読んでみましたが、MHTML は、グラフィックなどを含んだ HTML 文書を電子メールで送信することをメイン ターゲットとして企画されています。その中で、ウェブ ページの保存については、「応用できるかもしれない(may also be applicable to)」と、言及されているに過ぎません。ひとつのファイルにまとまっている方が、管理するのは便利ですが、それ以上の意味はないと思った方が良いと思います。

     なお、提案(proposal、suggestion)は、ここで行うより、Connect サイトで行った方が聞き入れられやすいかもしれません。現在、IE9 の Publick Feedback Program があります。バグ報告およびご提案をお受けしているマイクロソフト製品のディレクトリに、Internet Explorer Beta Feedback - IE9 Public Feeback Program があります。右の方の、「(申し込む)」リンクをクリックします。ただし、英語です。


    Jitta@わんくま同盟
    2010年9月20日 14:48
  • Jitta さんの言う所の『バグ報告およびご提案をお受けしているマイクロソフト製品のディレクトリの、Internet Explorer Beta Feedback - IE9 Public Feeback Program 』に投稿しました。表題は 『 IE9 for copied mht web pages with tab 』です。

    この IE9 Public Feeback Program の投稿のために「(申し込む)」際、IE8で ID および パスワード を入力後に送信すると、IE8で何かのエラーが発生するようで、ビジーのまま先に進みませんでした。Firefox ver 3.6.10 を使うとではうまく行き、Firefox で投稿をしました。

    数日前 hot-mail を申し込もうとしたとき、IE8で ID および パスワード を入力後に送信すると、同じ症状で、ビジーのまま先に進みませんでした。このときは G-mail に申し込みました!。

     

    2010年9月28日 11:54
  •  日本のフォーラムで報告された問題であること、同様な議論がされていることを、コメントとして付記しました。

     なお、「私もです」という人が多いほど、優先度が高くなるそうなので、リンクも張りましょう。IE9 for copied mht web pages with tab


     ところで、このフォーラムの右に、「マイ スレッド」というリンクがありますよね。これをクリックすると、あなたが投稿されたことのあるスレッドの一覧が表示されます。ここは、アコーディオン形式でスレッドの内容を見ることも出来ます。これを MHTML で保存した場合、どうなって欲しいですか?オフラインでも、アコーディオンが展開できるようにして欲しい?でも、出来ません。これは、AJAX で、動的に内容を引っ張ってきているからです。先の投稿のこの部分↓は、この様に実装されているタブページもあるだろうと思って、コメントしています。よって、この件は、もっと細かく要求を詰めないと、「仕様による」として閉じられる可能性が高いと思います。

     タブとして表現する方法は、他にもいくつかあります。その方法によって、問題となることが変わってくるでしょう。この様な理由で、タブで表現されているページのいくつかはローカルに完全に保存できる(技術的解決方法がある)でしょうが、いくつかは、依然として保存できないでしょう。

     『タブのあるwebページの 単一 mht のコピーを、回線断において、きちんと表示できるようにして欲しい。』という要望が受け入れられるとは思えません。理由は、「きちんと表示」を、どこまで要求するか、明確でないからです。技術的な観点では、「きちんと」という言葉は、曖昧な言葉です。現在の状態でさえ、「きちんと表示されている」と、言えなくありません。


    Jitta@わんくま同盟
    2010年9月29日 13:27
  • 1. 「マイ スレッド」の一覧を表示する--->MHTLで保存する、さらに保存したものをコピーする--->インターネットにアクセスできる状態で、保存またはコピーのMHTLを表示し、一覧の中の1つのタイトルをクリックして、そのタイトルのwebページが表示されればOK  と思います。

    2. 『この件は、もっと細かく要求を詰めないと・・・』 ---> 当方の投稿の中のRequestをきっかけとして、IE9の開発側でまとめることを期待します。

    2010年10月1日 15:17
  • 1. 「マイ スレッド」の一覧を表示する--->MHTLで保存する、さらに保存したものをコピーする--->インターネットにアクセスできる状態で、保存またはコピーのMHTLを表示し、一覧の中の1つのタイトルをクリックして、そのタイトルのwebページが表示されればOK  と思います。

    2. 『この件は、もっと細かく要求を詰めないと・・・』 ---> 当方の投稿の中のRequestをきっかけとして、IE9の開発側でまとめることを期待します。


    1.ですから、(▼)のボタンをクリックしたときに、内容を取りに行っています。タブページが、タブをクリックしたときに内容をサーバーへリクエストするような作りになっていれば、とても難しいのです。おっと、ちょうどありました。http://jp.msn.com/ MSN のページ中ほどに、「ニュース」「経済」「デジタル」・・・という“タブ”があります。ここは、「ほかのページへのリンク」として実装されています(ステータス バーに表示される URI を参照)。このような「タブのある web ページ」は、どうしたいですか?ニュースですから、時々刻々と変わりますね。
    もし、ページ内に存在する全リンクを一つの MHTML にまとめるとしたら、検索結果のページを保存した際、大変な量の情報を転送することになります。ここで、人間が、レンダリングされた HTML を見て、どのように「表示された」ものであるかを判断するのは、比較的簡単にできます。しかし、レンダリング前のコードから、プログラムが、どのように表示されたものであるかを判断するのは、大変難しいです。

    2.開発側がまとめるのではなく、「このようなときに、このようになるのは不便だから、こういう風にできるよう、改善してほしい」と要望します。前にも書いたとおり、今の状態でも、「きちんと保存」されているので、「仕様による」と、何も処理されない可能性が非常に高いです。「同じサーバーにある文書であれば」とか「何階層までは」と、ある程度具体的な提案の仕方を示しているのは、そのためです。どういうケースを考えて判断がなされたのか、話が聞ければいいのですが、そういう話は出てこないので(開発者のブログなどへ直接書き込めば、聞き出せるかもしれませんが)。


    Jitta@わんくま同盟
    2010年10月2日 4:06
  •  Connect のほうで、回答がありました。「修正しない」ということです。

    フィードバックをしていただき、ありがとうございます。
    あなたが取り上げてくださったこの意見について、修正の計画を立てません。あなたが下さったフィードバックはとても重要であり、Internet Explorer の品質を改善する役に立ちます。残念ながら、現在我々は、この問題が存在する範囲に対する改善のための投資をしていないため、このフィードバックを取り上げることが出来ません。
    我々は、フィードバックを歓迎しています。ですので、他の件で Internet Explorer を改善できることについて報告をお待ちしております。
    どうぞよろしくお願いします。
    Internet Explorer 開発チーム

     「きちんと表示できるようにして欲しい」のような漠然とした要望は(特にアメリカ人には)、要望者にとって都合がよいように解釈してもらえないことことの方が多いです。フィードバックを取り上げてもらうには、放置することでどれほどの損失があるため、修正するコストをかける意味があるとアピールしなければなりません。

     Bing では、「ホバー プレビュー」といって、検索結果にポイントすると、一覧に出ているよりも多くの、かつ現在のページ内容を参照することが出来るようになっています。このような、動的に情報を取得する技術が一般化しているので、「同一ページ(あるいは、明示的なページの遷移がないページ)だから」というのは、インターネット接続がなくても見える状態で保存する為の理由としては、弱いと思います。また、ページが書き換わることについても、より新しく、訂正されてより正しくなっているであろう情報にアクセスできる可能性と天秤を掛けると、かなり弱いと判断せざるを得ません。


    Jitta@わんくま同盟
    2010年12月3日 12:40
  •   『引用』

    1. タブのあるwebページの例
    1a. http://www.nero.com/jpn/tools-utilities.html
    1b. http://www.nvidia.co.jp/object/win7-winvista-32bit-258.96-whql-driver-jp.html

    2. 当方のパソコン:Vista SP2、Internet Explorer 8 <---当時

    3. 不具合の手順例
    3a. 1a.のページをIE8で表示する。mht (Webアーカイブ、単一のファイル) で保存する。このmhtをどこかにコピーする。
    3b. ローカルエリア接続を断にする。3a.の初めのmhtをクリックして表示させる。いくつかのタブが見え、タブを切り替えると、各タブの内容が表示される。
    3c. ローカルエリア接続を断のままにする。3a.のコピーしたmhtをクリックして表示させる。いくつかのタブが見えるが、タブが切り替わらず、各タブの内容が表示されない。

    4. 保存したmhtを他の場所に移動(=コピー)することはよくあること。パソコンを立ち上げ、回線を繋がず、mhtを見ることはよくあること。mhtを保存する目的の1つは、その時の説明を手元に置くことにある。その時からしばらくすると、元のwebページが変更されていたり、無くなっていたりすることはよくあること。いつでも、コピーしたタブのあるmhtをきちんと表示できるようにして欲しい。

    ----------

    パソコンは同じで、Windows 7 SP1 および Internet Explorer 9 で、1a. や 1b. に付き、3c. を表示させると、ページ内のタブの内容が正常に表示されました。IE9で解決したと思います。解決して有難く思っています。

    • 回答としてマーク tnk081116 2011年6月29日 13:29
    2011年6月29日 13:29