人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

OperaとChromeそれぞれで、
リンクを張られたテキストで、特定のキーワードを含む物を表示しないにはどうしたら良いでしょうか。user.jsを使うのかなと思っているのですが。

<例>
リンクテキストの内、「AKB」というキーワードが入ったものを表示しない。

非表示→
<a href="http://example.com">AKB48</a>

ただしこれは表示される
<a href="http://example.com/akb.html">こんにちは</a>




●質問者: tetlis
●カテゴリ:インターネット
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● y-kawaz
●100ポイント ベストアンサー

こんな感じのユーザスクリプト作ればいい?

// ==UserScript==
// @name hide_akb_link
// @namespace http://q.hatena.ne.jp/1338338074
// @description 特定キーワードをテキストに含むリンクを隠す
// @version 1.0
// @match http://*/
// @match https://*/
// ==/UserScript==
(function(){
 var pattern = new RegExp("AKB");
 Array.prototype.slice.call(document.getElementsByTagName("a")).forEach(
 function(a) {
 if(a.innerText.match(pattern)) {
 a.style.display = "none";
 }
 }
 );
})();

tetlisさんのコメント
ありがとうございます。 一部サイトでは確かにリンクが消えたのですが、大部分のサイトでは残ってしまいます。これはどういうことでしょうか? (たとえばGooglenの検索結果では残ります) 上記スクリプトは「.user.js」というファイル名で保存しています。

y-kawazさんのコメント
処理のタイミングによるかもしれません。 >|| setTimeout(function(){ : },1500); ||< のように処理を少し遅れて実行させたらどうでしょうか。

tetlisさんのコメント
消せるサイトは多少増えましたが、Googleを始め通用しないサイトが少なからずあります。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ