Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

Bookmarklet 小技集

見ているページのHTMLソースを表示するブックマークレット(Yahoo!Pipes版)

投稿日:


この辺のエントリーに触発されてブックマークレット作りました。
URLを渡すとページの内容(htmlソース)をJSONPとかで取得できるAPIをYahoo! Pipesで作った(管理人日記) – むぅもぉ.jp
Big Sky :: JSONでHTMLを取得するYahoo! Pipesが凄い
Show HTML Source
↑のリンクをブックマークしてください。


簡単に仕組みを紹介します。

指定されたURLのHTMLソースを返すPipesを作る

これは、前述のむぅもぉ.jpさんのほぼそのままコピーです。
http://pipes.yahoo.com/yager/page_loader
んで、これをJSONPで取得すればOK

ブックマークレットで呼ばれている外部JSの中身

http://labs.creazy.net/bookmarklet/pipes_show_source.js

/**
* show HTML source (powered by Yahoo!Pipes)
* @author takahito.yagami[at]gmail[dot]com
*/
/**
* callback function
* get HTML source from pipes, insert to DIV
*/
function __showSource(json) {
var html
= '<p style="text-align:right;margin:5px 10px 0 10px;padding:0;">'
+ '<a href="javascript:document.body.removeChild(document.getElementById(\'__source_viewer\'));void(0);">close</a>'
+ '</p>'
+ '<text'+'area style="margin:5px 10px 10px 10px;border:1px solid #000000;width:95%;height:85%;background:#FFFFFF;color:#000000;font:12px monospace;">'
+ json.value.items[0].content.replace(/</g,'<').replace(/>/g,'>')
+ '</text'+'area>';
document.getElementById('__source_viewer').innerHTML = html;
}
// prepare HTML source viewer
document.body.innerHTML
+= '<div id="__source_viewer" style="position:absolute;z-index:99999;top:5%;left:5%;width:90%;height:90%;background:#EEEEEE;">loading ...</di'+'v>';
window.scrollTo(0,0);
// call pipes
var s=document.createElement('script');
s.charset='UTF-8';
s.src='http://pipes.yahoo.com/yager/page_loader?_render=json&_callback=__showSource&url='+encodeURIComponent(location.href);
document.body.appendChild(s);

まあ、細かい説明はしないのでソース読んでもらうとして、
 ・表示用のdiv、textareaを作成
 ・pipesに今見ているページのurlをわたしてHTMLソースを受け取る
 ・textareaに流し込む
な感じの作りです。

使えないケース

Yahoo!PipesのFetch Pagesを使っているので、その辺りで制限事項があります。
 ・ログインが必要なページなどYahoo!Pipesから見えないページは表示できません。
 ・script, link など一部のメタタグは表示されません(Fetch Pagesの仕様らしい)
というわけで、誰かの役に立つでしょうか・・・。

動画を楽しもう!(Youtubeの動画を片っ端からダウンロードするブックマークレット)
EXIF情報を一覧表示するブックマークレット「EXIF EXISTS ?」を作りました
第13回:URLエンコードとURLデコードを簡単にするブックマークレット
第11回:引用(blockquote)を簡単にするブックマークレット
第9回:閲覧しているサイトへのリンクタグを生成するブックマークレット
第6回:TinyURL の遷移先が怖くて開けない場合の対処法

-Bookmarklet, 小技集

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Mastodon(マストドン)にワクワク/ランキング並び替えブックマークレット

先週あたりからTwitterっぽいSNSとしてMastodonが話題となっています。Githubにオープンソースとして公開されており誰でも自分のサーバーにインスタンスを立ち上げられる「分散型プラットフ …

高感度撮影した写真のノイズ低減を3つのソフトで比較(Photoshop Elements, Neat Image, Photoshop Lightroom)

先日、ホタルの高感度撮影に挑戦したところ、愛用しているGF3ではノイズがかなりヒドイ状態で見るも無残だったため、少しでもノイズを除去できないかと調べてみました。画像の編集にはPhotoshop Ele …

表と裏、2回撮影して1枚の写真にするiPhoneアプリ「Frontback」とEmbed用ブックマークレット自作

いつもよく見ているブロガーさんたちの間で昨年末あたりから流行の兆しがあったものの、フロントカメラを使うということで自撮り(海外ではセルフィー selfie)に抵抗のある自分としてはスルーかなと思ってた …

no image

Deliciousでサイト内ブックマーク数の合計を取得するPHPサンプル

はてなブックマークにはサイト内のブックマーク数合計を表示してくれるはてブカウンターというのがあります。他のSBMには無い機能ですが、サイトの人気度を示す良い指標だと思っています。 参考:はてブ数100 …

no image

PhotumblrでTumblrの画像をブログパーツにしてみる

だいぶ前にTumblrの画像を抜き出すPipesを作ったんだけど、今日はそれを使ってブログパーツを作ってみます。 元ネタはこちらのエントリーをお読みください。(で、省略w) ・「Photumblr」T …

スポンサードリンク

スポンサードリンク