• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ブックマークレットの() 背景文字色変更)

ブックマークレットの背景文字色変更

このQ&Aのポイント
  • ブックマークレットの最後の () はなぜ必要なのでしょうか?
  • 最後の () がないと機能しないため、必要です。
  • スクリプトの挙動に関わる重要な要素です。

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

最後の () は無名の functionを呼び出すための () です。 無名の function とは,書かれている冒頭の javascript:( function() { … この↑ function です。 この function は,関数を定義しているだけで,実行命令を受けていません。 「このfunctionを,実行しろ。」と呼び出しているのが最後の () です。 HTML に書いた場合は, 『OnClick="function名"』や『A href="javascript: function名">』に当たる部分が,最後の () です。 わかりやすくするために,以下のようにこの function に aaa という名前を付けてみます。 javascript:(function aaa(){var newCSS, styles='* { background: white ! important; color: black !important } '; if(document.createStyleSheet) { document.createStyleSheet("javascript:'"+styles+"'"); } else { newCSS=document.createElement('link'); newCSS.rel='stylesheet'; newCSS.href='data:text/css,'+escape(styles); document.documentElement.childNodes[0].appendChild(newCSS); }});aaa(); このように↑書いても,BookMarkletは動作します。 function名は付けても良いですが,字数を増やすだけです(IE6の制限508文字?)。 だから付けないのが普通です。 またHTML文書内のJavaScriptとの干渉を防ぐ意味もあるかもしれません。 下記参考URLは,他の点でも参考になると思います。 「ブックマークレットを作成する際のポイント」↓

参考URL:
http://www.teria.com/~koseki/memo/bookmarklets/tips.html
hikiko
質問者

お礼

大変参考になりました。 のどにささった魚の骨が取れた感じです。

関連するQ&A