• 締切済み

HTMLソースをコピーするブックマークレット

よろしくお願いします。 タイトルのとおり、HTMLソースをコピーするブックマークレットを作りたいのですが、 IEからメモ帳でソースを開いた時と全く同じ内容をクリップボードにコピーしたいのですが、 以下のスクリプトではそのように動作しませんで、困っています。 javascript:alert(document.parentWindow.clipboardData.setData("text", document.body.innerHTML)?'コピー完了':'false'); 上記ので駄目だったので、以下のスクリプトも試しましたが、駄目でした。 javascript:alert(document.parentWindow.clipboardData.setData("text", document.getElementsByTagName('html')[0].innerHTML)?'コピー完了':'false'); 上記スクリプトでは<HEAD>~</BODY>までの間しかコピーされず(その前後の<script >関連などがコピーされません)、また、改行やインデントなども消去されてしまっています。 コピーしたデータをPHPのプログラムでデータとして処理しているため、IEのソースを表示でメモ帳で開いたデータと全く同じ様式にしてコピーしたいのですが…。 詳しい方がおられましたら、どうかよろしくお願い致します。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

まったく詳しくありませんが・・・ >コピーしたデータをPHPのプログラムでデータとして処理しているため~ 何をどうしているのかわかりませんが、わざわざIEを介するような手間をかけずに、PHPで直接読み込んで処理する方が簡単ではないのでしょうか? 手動で他にいろいろやるのであれば、Ctr+A、Ctr+Cの操作だけをブックマークレットにしたところであまり意味はなさそうですし…

iwakism
質問者

お礼

ご回答ありがとうございます。 元請会社との専用のシステムがIEでしか閲覧不可のため、そのソースからデータを抽出して自社内のシステムを別途PHPで運用している状態です。 確かにソースを開いてCtr+A、Ctr+Cだけの作業なのですが、一日何十回もやらなければならないため、ブックマークレットに出来たら楽だと思ったのですが…。 やはり上記のスクリプトとIEの「ソースを表示」で改行やインデントの仕様が違ってしまっているのが原因のようです。 PHPのほうを書き換えるしかなさそうです。 ありがとうございました。