この知恵ノートを「知恵コレクション」に追加しました。
追加した知恵ノートはMy知恵袋の「知恵コレクション」ページで確認できます。
「知恵コレクション」に登録済みです。
再登録しました。
追加に失敗しました。
ノートに戻り、もう一度やり直してください。
すでに1,000件のノートが登録されています。
新しく追加したい場合は、My知恵袋の「知恵コレクション」ページで登録されているノートを削除してください。
追加できませんでした。
ノートは削除されました。
知恵コレに追加する:2人
『一瞬でカテゴリマスターを知恵袋マスターへ進化させる裏技』の不備を直して、更にカテゴリマスター以外の利用者にも適用できるようにした。
ライター:rank_0utさん(最終更新日時:1時間以内)投稿日:1時間以内 アドバイス受付中!
- お役立ち度:1点(5点満点中)
1人
- 閲覧数:24
■ はじめに
cyber_end_dragon2013さんの『一瞬でカテゴリマスターを知恵袋マスターへ進化させる裏技』に書かれてある「夢のようなプログラム」を見てみたところ、cyber_barrier_dragon2013さんの『知恵コインが0枚でも回答リクエストはできる!!!!』と全く同じ不備があったので、修正案を書いてみよう。
尚このノートの主旨は、『『知恵コインが0枚でも回答リクエストはできる!!!!』のコードに不備があるので直した』と同じように、「裏技」を一般人に普及させることではなく、コードについての間違った知識を普及させないことにある。裏技の是非をモラル云々で語ることには何の関心も無いので、そうしたアドバイスは不要だ。
■ 不備の部分
cyber_end_dragon2013さんが記述したコードは以下の通り。
非常に細かい話なのだが、innerHTMLに代入する値にHTMLレベルの不備がある。imgタグのsrcとaltの値は、この場合「''」で括った方が良い。ブラウザによっては、これだけで起動しなくなることがある。
コード全体も、「Javascript:」からいきなり処理内容を書き出すのではなく、「javascript:(function()」から書き始めた方が良い。特にFireFoxやoperaなどのようなブラウザからこのブックマークレットを起動させると、ページ全体が再読み込みされてしまい、「知恵袋マスター」の称号だけがページの左上に表示される、という事態になってしまう。
■ 修正したコード
そんな訳で、私が発見した不備は以下の通りに修正しておいた。
■ カテゴリマスター以外の利用者向けの発展版
cyber_end_dragon2013さんによると、「カテゴリマスターの称号を持っている人のMy知恵袋でなければダメ」らしいが、コードを少し書き変えるだけで、カテゴリマスターではない利用者のマイ知恵袋でも適用することができる。
ちなみにどうでもいいことだが、imgタグのsrcの値を専門家やカテゴリマスターの称号の画像のURLに換えれば、「一瞬で専門家に進化させる裏技」などもできるだろう。
■ 注意事項
これらのブックマークレットは、クライアントサイドでゴチャゴチャ動かしているだけで、知恵袋のデータベースの中身を変えている訳ではない。データベースの中身を変えようとすると法に触れてしまうので、神様くらいの特権の持ち主でもない限りはやらない方が良いだろう。
■ 最後に
このブックマークレットは、AjaxやDOM操作やインラインフレームやXSSを駆使して巧みにHTMLタグを隠されてしまうと、使えなくなる。
私には与り知らぬことだが、こうしたシステムの盲点を突く「裏技」に対してモラルの観点から非難して問い合わせる連中もいるので、このブックマークレットもまた短命かもしれない。
cyber_end_dragon2013さんの『一瞬でカテゴリマスターを知恵袋マスターへ進化させる裏技』に書かれてある「夢のようなプログラム」を見てみたところ、cyber_barrier_dragon2013さんの『知恵コインが0枚でも回答リクエストはできる!!!!』と全く同じ不備があったので、修正案を書いてみよう。
尚このノートの主旨は、『『知恵コインが0枚でも回答リクエストはできる!!!!』のコードに不備があるので直した』と同じように、「裏技」を一般人に普及させることではなく、コードについての間違った知識を普及させないことにある。裏技の是非をモラル云々で語ることには何の関心も無いので、そうしたアドバイスは不要だ。
■ 不備の部分
cyber_end_dragon2013さんが記述したコードは以下の通り。
『一瞬でカテゴリマスターを知恵袋マスターへ進化させる裏技』のコード
- JavaScript:document.getElementById("myTopDegree").innerHTML="<img src=http://i.yimg.jp/images/ks/official/my/img_degree_chie.png alt=知恵袋マスター>\n";
- (閲覧日時:2011/3/11 13:31)
コード全体も、「Javascript:」からいきなり処理内容を書き出すのではなく、「javascript:(function()」から書き始めた方が良い。特にFireFoxやoperaなどのようなブラウザからこのブックマークレットを起動させると、ページ全体が再読み込みされてしまい、「知恵袋マスター」の称号だけがページの左上に表示される、という事態になってしまう。
■ 修正したコード
そんな訳で、私が発見した不備は以下の通りに修正しておいた。
修正したコード
- javascript:(function(){var imgs='<img src="http://i.yimg.jp/images/ks/official/my/img_degree_chie.png" alt="知恵袋マスター" />';document.getElementById("myTopDegree").innerHTML=imgs;})();
■ カテゴリマスター以外の利用者向けの発展版
cyber_end_dragon2013さんによると、「カテゴリマスターの称号を持っている人のMy知恵袋でなければダメ」らしいが、コードを少し書き変えるだけで、カテゴリマスターではない利用者のマイ知恵袋でも適用することができる。
カテゴリマスターではない利用者向けのコード
- javascript:(function(){var degree='<p style="margin-top:10px;margin-bottom:10px;"><img src="http://i.yimg.jp/images/ks/official/my/img_degree_chie.png" alt="知恵袋マスター" /></p>';document.getElementById("side").innerHTML=document.getElementById("side").innerHTML.replace("<!-- 称号 -->",degree);})();
ちなみにどうでもいいことだが、imgタグのsrcの値を専門家やカテゴリマスターの称号の画像のURLに換えれば、「一瞬で専門家に進化させる裏技」などもできるだろう。
■ 注意事項
これらのブックマークレットは、クライアントサイドでゴチャゴチャ動かしているだけで、知恵袋のデータベースの中身を変えている訳ではない。データベースの中身を変えようとすると法に触れてしまうので、神様くらいの特権の持ち主でもない限りはやらない方が良いだろう。
■ 最後に
このブックマークレットは、AjaxやDOM操作やインラインフレームやXSSを駆使して巧みにHTMLタグを隠されてしまうと、使えなくなる。
私には与り知らぬことだが、こうしたシステムの盲点を突く「裏技」に対してモラルの観点から非難して問い合わせる連中もいるので、このブックマークレットもまた短命かもしれない。
関連ノート
このノートは役に立ちましたか?
役に立った!お役立ち度:
1点(5点満点中)
1人が役に立つと評価しています。
アドバイス(このノートのライターへのメッセージ)を送る
このノートはどうでしたか? いいと思ったことや、こうしたらもっとよくなるといったメッセージを送りましょう! ノートの内容やライターについて質問がある場合は、Q&Aから質問してみましょう
アドバイスを送るには、
Yahoo! JAPAN IDでのログインおよび
Yahoo!知恵袋の利用登録が必要です。
感想アドバイス履歴
-
現在アドバイスはありません
このノートに関するQ&A
このノートに関するQ&Aは、まだありません。