■JavaScript=jQueryをjoomla!に組み込むjoomla!にjavascriptを組み込む場合、すんなりいかない。まずオープンソースのCMS特有の独自のフィルター機能が作動している。そしてもう一つの大きな問題は読み込んだjsスクリプトが他のスクリプトとぶつかるケース。そして当たり前だがjsに付随するCSSがある場合、そもそもこちらで組んでいるスタイルシートとぶつかる事も考えられる。
まず、メニューバーから、[コンテンツ]-[記事管理]を選択して、開いた記事管理の[パラメータ]でフィルタリングオプションの内容を変更する。
デフォルトブラックリストは以下のタグを含みます:'applet', 'body', 'bgsound', 'base', 'basefont', 'embed', 'frame', 'frameset', 'head', 'html', 'id', 'iframe', 'ilayer', 'layer', 'link', 'meta', 'name', 'object', 'script', 'style', 'title', 'xml' デフォルトブラックリストは以下のタグを含みま:'action', 'background', 'codebase', 'dynsrc', 'lowsrc' ブラックリストへ追加タグとスペースかコンマのそれぞれのタグか属性名を切り離して、フィルタータグとフィルター属性に追加出来ます。 ホワイトリストはフィルタータグに記載されたタグとフィルター属性の属性のみ許容します。保存される時にHTMLも内容からすべてのHTMLタグを取り除くというわけではありません。これらの設定はあなたが使用しているエディタにかかわらず作動します。 あなたがWYSIWYGエディタを使用していても、データベースの情報を保存する前に、フィルタリング設定は追加タグと属性を削除する場合があります。
$(document).ready(function(){ // jQueryの処理 }); これをjoomla!に組み込んでみても動かない、このスクリプトをHTMLを丸ごとコピーして html ファイルを生成したら問題ない。 つまり$を使わないで jQuery を呼び出し、その命令内で省略形を別名定義すればいいのですね。 jQuery(document).ready(function($){ // jQueryの処理 }); このように、書き変えればOKです。function($) が別名定義になってくれています。さらに、 jQuery(document).ready(function($){ //ここから $(document).ready(function(){ // jQueryの処理 }); }); //ここまで といった感じで、該当の命令をごっそり jQuery(document).ready(function($){}); で囲ってやれば良い。 最後のjsについているCSSをもってきてそれがぶつかる場合は地道に探っていくしか手はない!! |
yvcomment, カテゴリ: "WebDesign*"