blog.knym.net | I'm searching something to change my life.
Javascript Error by using Interface elements for jQuery Slideshow in IE6
If border setting removed in CSS, Javascript error is showed in IE6…
Interface elements for jQuery – Documentation – Slideshow
Slideshow demo – Interface plugin for jQuery
jQueryでIMGタグを含んでいるAタグのborderの非表示
a {
color:#FFF;
text-decoration:none;
padding-bottom:1px;
}
a:link,
a:visited {
border-bottom:1px dotted #FFF;
}
a:hover,
a:active {
border-bottom:1px solid #FFF;
}
というCSS設定で<a>にborderを表示するようにしていると、</a><a>の中に<img />タグを表示するときもborderが表示される。
それが嫌だったので、jQueryでそうならないようにした。
jQueryのバージョンによってIE6のSP3だとOKなのにSP2だとだめなとき
今回のバグは涙がでそうだった。
$(function(){
swfobject.embedSWF("/menu.swf", "menu", width, height, flaVersion,"/shared/js/expressinstall.swf", flashvars, params, attributes);
});
ってな感じにHTML内に複数のSWFを読み込むようにしてたらさー、SP3だと表示されるのに、SP2だと後半のSWFの読み込みがうまくいかず何も表示されないという。
(SPはService Packの略ね)
原因はjqueryのバージョンによるもの。
jQuery1.3対応のコードをSafari2に対応するときの変更箇所 | blog.knym.net
で、Safari2に対応するため古いバージョンのjQuery使ってたら、読み込みがうまくいかんかったみたい。
つーことで、
var isSafari = (navigator.appVersion.toLowerCase().indexOf('safari')+1?1:0);
if(isSafari){
document.write(\'<script type="text/javascript" src="jquery-safari2.js"></script>\');
}else{
document.write(\'<script type="text/javascript" src="jquery-1.3.2.min.js"></script>\');
}
ってな感じに読み込むjQueryをわけて、Safari以外は最新のjQueryを読み込むようにしたらうまく行きました。
これ、VirtualPCのIE6 SP3だと現れなくてIE6 SP2で現れるという、なんともややこしい症状だった。
最新版は常につかうようにして、古いブラウザにたいしては条件分岐で別途対応ということですな!
jQuery1.3対応のコードをSafari2に対応するときの変更箇所
最新のjqueryってSafari3+になってるんで、safari2では動きません。
ちょっと動かないんじゃなくて、全く動きません(>_<)
つーことで、昔のプロジェクトフォルダのjquery.jsを引っ張ってきて、ソースをいじって対応しました。
たぶん、2009年の今が1.3なんで、2年前位だと1.2か1.1かな?
そのときに1.3のコードを昔のバージョンに対応させるための変更箇所のメモです。
each()の中の$(this)が機能していないみたい。
実際、直したコードはあるclass名に指定してあるidの値を配列に入れるだけのもの。
var ids = new Array();
$(".className").each(function(){
var divId = $(this).attr("id");
ids.push(fid);
});
$(this)がうまく取れてないかんじだったんで、このように変更
…
swfobjectを適用するタグに属性値を持たせても意味ない
var boxId = "fla1"; var $trg = $("#"+boxId); $trg.attr("maxH",600); swfobject.embedSWF("hoge.swf", boxId, "400", "300", "10.0.0");</p> <p>//firebug console.log($trg.attr("maxH")); //-> undefined
つーことで、なんでだろっておもったらdivタグがobjectタグに置き換わってたときに属性値がすべてリセットされてた(^O^)/
(firefoxのとき)
タグの属性に値を保持させておこうという考えはもうやめよう。
値を保持するためのオブジェクトを作ってそこに保持することにする。
jQuery Auto Blank Window Setting
It’s a pain to add ‘target=”blank”‘ to <A> for me.
So I use the following code with jQuery.
$(document).ready(function(){
$("a").each(function(){addTargetBlank(this)});
});
function addTargetBlank(trg){
var ex_url = location.hostname;
var href = $(trg).attr("href");…




