JavaScript
イメージ等を貼る時にshadowbox.js用のタグを書くのが面倒な自分は、MT内部のイメージ等の挿入部分を書き換えていたのでした。
バージョンアップの度に書き直すのも面倒なので、昨日の適当なブックマークレットをさらに適当にshadowbox.js用にいくつか作ってみたりしました。
追記(2009年7月17日)
SyntaxHighlighter.jsは、ValidなHTML及びクリップボード対応他機能追加されたバージョン2.0が現時点では公開されているが、当ブログでは1.5.1を好んで使用している。
別にValidなHTMLに拘っているわけではないけれど、怒られるのはあまり好きではない。
pre要素のname属性は存在しないので、title属性を使うことにする。
shCore.jsの145行目あたりを以下のように書き換えた。
変更前
if(tags[i].getAttribute('name')==name)
変更後
if(tags[i].getAttribute('title')==name)
変更後のHTMLソース
<pre title="code" class="as3">
package {
public class Main extends Sprite
{
・・・
}
}
</pre>
YouTube動画の埋め込みタグはValidatorにかけるとInvalidになってしまう。
Validな埋め込みタグにするには・・・
digitrick関連ブログではソースを表示するときにSyntaxHighlighter.jsを使っているのですが、
SyntaxHighlighter.jsの"クリップボードにコピー"が使えなくなってしまっている・・・
調べてみると・・・
Flash Player 10 からはマウスクリック等のユーザインタラクションによるイベントからのみ実行することができます。
SyntaxHighlighter.jsはJavaScriptからSWFへデータを渡してクリップボードへコピーさせているようなのですが、仕様変更のためSWFを直接表示して、マウスクリックイベントを発生させなければ、クリップボードにコピーされないということですね。
もう少しSyntaxHighlighter.jsの"クリップボードにコピー"について調べてみると・・・
そもそも、このリンクどういう仕組みかというと、javascriptを呼んでいて ・IEだったら、clipboardData.setDataでコピー ・その他のブラウザだったら、flashを実行してコピー という動作をしています。
ということらしい。またFlash Player 10からAIRのみで使えたClipboardクラスが使えるらしい。こちらも直接のマウスクリックイベントなどがないと動作しないとのこと。
先日、某N社のサイトを開くとブラウザがクラッシュするどころかOSまでがクラッシュするという話を聞いた。
Flashを問わず、開発者はタスクマネージャやアクティビティモニタなどのCPUモニタをチェックすべきではないかと思う。
Flashの場合だと、たとえアプリでなく、ムービーであっても言えることではないかなと。
