site:ドメインの 検索を呼び出します ※ Google ヘルプ : ウェブ検索の精度を高める( この中の『 特定のサイトを検索する』 ) 最近は、セキュリティに厳密になったサイトが増えたので、そのページに埋め込む事ができなくなりつつあります。なので、windows.prompt で検索文字列を入力させて直接 Google を呼び出すようにしました。 ※ 旧式の ページに IFRAME を埋め込むバージョンはこちらから このブログの記事単体ページで実行すると、以下のようになりますPowerShell site:logicalerror.seesaa.net/article一番最後の /(スラッシュ) を取り去った状態で、その階層内の検索をする為のの文字列になります ドメイン内 検索 ▼ リンク内コード
<a style='margin-left:60px;' href='javascript:var%20u=(document.URL).replace(/^http(s)?:\/\//g,"");var%20p=u.lastIndexOf("/");var%20u=u.substr(0,p);var%20a=prompt("検索文字列を入力してください","");if(a!=""&&a!=null){a=encodeURIComponent(a);a=a.replace("\u0025\u0032\u0030","+");a="https://www.google.co.jp/search?q="+a+"+site:"+u;window.open(a);}void(0);' onclick=" alert('ブックマークバーまたは、お気に入りバーにドラッグドロップが簡単です'); if (window.navigator.appName.toLowerCase().indexOf('microsoft') > -1) { event.returnValue = false; } event.preventDefault(); event.stopPropagation(); ">ドメイン内 検索</a>
▼ 実行内容を整理
// ******************************************** // 現在の URL から http:// または https:// を取り去ります // ******************************************** va u = (document.URL).replace(/^http(s)?:\/\//g,"") // ******************************************** // 最後の / の位置を取得します // ******************************************** var p = u.lastIndexOf("/"); // ******************************************** // 元の文字列より、最後の / 以降を取り去ります // ******************************************** var u = u.substr(0,p); // ******************************************** // prompt で入力文字列を取得します // ******************************************** var a = prompt("検索文字列を入力してください",""); // ******************************************** // 未入力時と、キャンセル時は何もしません // ******************************************** if( a! = "" && a != null ) { // ******************************************** // % エンコーディング // ******************************************** a = encodeURIComponent(a); // ******************************************** // encodeURIComponent では 空白は %20 // 仕様に合わせて、空白は + 文字に変更 // \u0025\u0032\u0030 は %20 // ブックマークで %20 はスペースになるので // Unicode で指定 // ******************************************** a.replace("\u0025\u0032\u0030","+"); // ******************************************** // Google 用の検索用の URL を作成 // ******************************************** a = "https://www.google.co.jp/search?q="+a+"+site:"+u; // ******************************************** // URL を開く // ******************************************** window.open(a); } // ******************************************** // ※ お約束 // このブックマークレットでは必要無いですが // ( 対話ウインドウが表示されるので ) // 通常はこれを最後に書いておくといいです // ******************************************** void(0);