lib.jsのアップデート

category-icon

 こんばんは。静的出力モードで動作させている際に、トップページ以外からログインしようとすると、

ppBlog::Bad Request!

と表示される不具合の報告がありましたので、その修正版をアップしておきます。いくつかのアプローチが考えられますが、lib.jsの書き換えで対処しました。要は、admin.phpに至るパスがトップページ以外だと(静的出力モードの場合)変になるので、JavaScriptで正しいパスを取得してあげようという訳です。具体的には、以下のようなグローバル変数を用意しました。グローバルな変数はあまり使いたくないのですが、まぁ(--)

scriptPath = o('BASE') ? o('BASE').$.href : window.location.pathname.toString().replace('index.php', '');

 この修正されたlib.jsを添付しておきます。syntax.js用の記述はコメントアウトしてあるので、必要に応じて参考にされて下さい。あ、後、静的出力モードな方でsyntax.jsを使いたいな、という方は、このスクリプトの呼び出しに、oParts.loadScriptを使うのであれば、単にjs/syntax.jsではなく、フルパスでの記述にして下さい。例えばこのサイトであれば、以下のような感じです。

oParts.loadScript('http://p2b.jp/js/syntax.js'); /* ちなみに同じドメインでの呼び出ししか出来ません */

 (エディタの固定モードは、しょっちゅう使うからこれはクッキーに食わせて、次回からモードを復元するようにすると良いな)

 あと、アップロードした画像のドロップシャドウですが、これはIE6での表示が不安定のようなので、以前のバージョンに戻そうかと思っていますが、どうでしょうか・・・。

添付ファイル: lib.jsattachedIcon 

— posted by martin at 10:11 pm   commentComment [20]  pingTrackBack [0]

 

pettieSyntaxの微調整とか

category-icon

 こんばんは、martinです。JavaScript単体で稼働するソースハイライト表示用のスクリプトpettieSyntax.jsですが、スタイルシートのクラス指定に対応したバージョン(pettieSyntax-class.js)も作成してみました。と、同時に正規表現の微調整をしています。一応、CSSソースのハイライトにも対応していますが、CSS3のセレクタLink とかは何でもありの状態なので、まぁ抜けがあったりするかも知れませんが、そこまで完璧を求めていないので。ちなみに、CSS3のセレクタは、具体例で挙げると以下のような感じです。

a[rel="external"] { /* REL属性がexternalなら外部アイコンの背景を付ける */
  padding-right: 5px;
  background: url(Images/external-icon.png) no-repeat right center;
 }
p[class~="foo"] { /* クラス名にfooが含まれていれば */
  margin: 0;
  padding: 0;
}
a[href$=".pdf"] { /* リンク名が.pdfで終わっていれば */
  background: url(Images/pdf.png) no-repeat right center;
}
a[hreflang|="en"] { /* リンク要素のhreflang属性がenで始まっていれば(enとかen-USとか) */
  background: url(Images/english.png) no-repeat right top;
}
div p:nth-child(2n+1) { /* DIVの子孫P要素で奇数番目のもの */
  background: ivory;
}

 別件ですが、JavaScriptライブラリのoParts.jsは、このCSS3のセレクタにも対応していて、例えば、

o('div:nth-child(2n+1)')

とすれば、奇数番目にあるDIV要素を一気に取得することが出来ます。お遊びですが、

<button onclick="o('ul li:nth-child(2n+1)').css('background:red');">
CLICK ME!
</button>

というコードを記述してみます。期待するのは、「UL要素の子孫のLI要素で奇数番目のやつの背景を赤にする」という動作です。

 syntax.jsの最新版とクラス対応版、およびそのCSSファイルを添付しておきます。ハイライト用のCSSファイルは、テーマのCSSファイルに追加しても良いでしょうし、以下のようにCSSファイルの中で呼び出すことも出来ます。

@import 'syntax.css';

 メンテナンスしやすいのは、上記のように別ファイルで用意しておくインポート方式でしょうか。

添付ファイル: syntax.jsattachedIcon  syntax-class.jsattachedIcon  syntax.cssattachedIcon 

 

— posted by martin at 09:37 pm   commentComment [0]  pingTrackBack [0]

T: Y: ALL: Online:
Created in 0.0175 sec.
prev
2008.4
next
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30