FireFoxでは簡単にメニューよりCOOKIEを確認することができるが、IE系では確認できない。
じゃあIE系で確認するには、どうすればいいのだろうか?
詳細は追記
じゃあIE系で確認するには、どうすればいいのだろうか?
詳細は追記
というわけで引用のやつ出来ましたよ
以前の、見出しをつけるやつで使っていたgetStringByElement関数をちょいと弄ればいけました
変更後(変更前は以前の記事を見てください)のgetStringByElement
まぁ、わかる人は変えればいいんじゃないかな
以前の、見出しをつけるやつで使っていたgetStringByElement関数をちょいと弄ればいけました
変更後(変更前は以前の記事を見てください)のgetStringByElement
function getStringByElement(element){
var i = -1;
var str = "";
var elm2;
var s = element.childNodes.length;
while(++i < s){
elm2 = element.childNodes.item(i);
if(elm2.hasChildNodes()){
str += getStringByElement(elm2);
}else{
str += (elm2.nodeType == 3) ? elm2.nodeValue : "";
if(elm2.nodeValue && elm2.nodeValue.match(/^>/) ){
var newElm = document.createElement('span');
newElm.style.border = "1px dashed #808080";
newElm.style.backgroundColor = "#f0ffff";
newElm.style.paddingLeft = "5px";
newElm.appendChild(document.createTextNode(elm2.nodeValue));
element.replaceChild(newElm,elm2);
}
}
}
return str;
}
まぁ、わかる人は変えればいいんじゃないかな
というわけで、見出し付きの記事リストのソースを載せてみる。
IEで見るとかなり縦長なのでFireFoxで見ることを勧める。
今回はFireFoxのトリッキーな挙動に苦戦した
動作条件は前回と同じ
IE6,FireFox1.07,NN7.1にて確認
例のごとく、面倒なのでこのブログで使われているまま載せている
また、
の10を変更すれば、見出しとして出す部分の長さを調節できる
10じゃ短いと思う場合は15とか20ぐらいにしてもいいだろう
追記
引用(頭に>)を分かりやすくするためには?
IEで見るとかなり縦長なのでFireFoxで見ることを勧める。
<script type="text/javascript">
<!--
elm4 = document.getElementsByTagName('div');
elm5 = document.getElementById('Article_List');
bodyelm = document.getElementsByTagName('body').item(0);
brz = window.navigator.appName.match(/^Netscape$/i);
s = 0;
elm5.innerHTML = "";
while(s < elm4.length){
if(elm4.item(s).className == 'mainEntryTitle'){
var elmm = document.createElement('a');
var sr = s;
var st_txt = "";
while(elm4.item(++sr).className == 'mainEntryBody'){}
elmm.setAttribute('href',"#"+""+elm4.item(s).firstChild.name);
var stjc = document.createElement('div');
stjc.appendChild(document.createTextNode(getStringByElement(elm4.item(sr)).substr(0,10) + "......"));
stjc.style.display = "none";
var id = "n_"+s;
stjc.setAttribute('id',id);
stjc.style.border = "1px solid #000000";
stjc.style.backgroundColor = "#ffffff";
bodyelm.appendChild(stjc);
if(brz){
elmm.onmouseover = function(r,event){
return function(e){
open_div(r,e.pageX,e.pageY);
}
}(id);
elmm.onmouseout = function(r){
return function(){
hide_div(r);
}
}(id);
}else{
elmm.onmouseover = function(r){
return function(){
open_div(r);
}
}(id);
elmm.onmouseout = function(r){
return function(){
hide_div(r);
}
}(id);
}
elmm.appendChild(document.createTextNode("● "+elm4.item(s).lastChild.nodeValue));
elm5.appendChild(elmm);
elm5.appendChild(document.createElement('br'));
}
s++;
}
function getStringByElement(element){
var i = -1;
var str = "";
var elm2;
var s = element.childNodes.length;
while(++i < s){
elm2 = element.childNodes.item(i);
if(elm2.hasChildNodes()){
str += getStringByElement(elm2);
}else{
str += (elm2.nodeType == 3) ? elm2.nodeValue : "";
}
}
return str;
}
function open_div(element,e1,e2){
var elems = document.getElementById(element);
var xx = 0;
var yy = 0;
if(!brz){
xx = window.event.clientX;
yy = window.event.clientY;
}else{
xx = e1+"px";
yy = e2+"px";
}
elems.style.position = "absolute";
elems.style.top = yy;
elems.style.left = xx;
elems.style.display = "block";
}
function hide_div(element){
document.getElementById(element).style.display = "none";
}
//-->
</script>
今回はFireFoxのトリッキーな挙動に苦戦した
動作条件は前回と同じ
IE6,FireFox1.07,NN7.1にて確認
例のごとく、面倒なのでこのブログで使われているまま載せている
また、
stjc.appendChild(document.createTextNode(getStringByElement(elm4.item(sr)).substr(0,10) + "......"));
の10を変更すれば、見出しとして出す部分の長さを調節できる
10じゃ短いと思う場合は15とか20ぐらいにしてもいいだろう
追記
引用(頭に>)を分かりやすくするためには?
ページ内記事リストのところにプレビューとして内容をすこーしだけ表示させるようなものを作ろうとしているのだが、FireFoxだけEventの有効範囲などが違い、上手くいかない
とりあえずIEでは上手くいっているのでとりあえずIEだけやっておくことにした
FireFoxではtitle属性でもつけてやるしかないのか?
追記
なぜかFireFoxでは
obj.style.top
obj.style.left
が正常に作動しない
IEではもちろん、依然使ったページでは正常に作動していたのになぜだろう
obj.style.position
や
obj.style.displayは正常に作動しているようでますますわからない
topとleftに代入している値をalertで見てみたところ、ちゃんと数値が入っている
・・・バグ?
さらに追記
数値の後ろにpxをつけたところ正常に作動した
どうやら数値を指定するだけではいけないらしい
なぜ以前のページでつけなくても動いたのかがわからないが、そういうことなんだろう
とりあえずIEでは上手くいっているのでとりあえずIEだけやっておくことにした
FireFoxではtitle属性でもつけてやるしかないのか?
追記
なぜかFireFoxでは
obj.style.top
obj.style.left
が正常に作動しない
IEではもちろん、依然使ったページでは正常に作動していたのになぜだろう
obj.style.position
や
obj.style.displayは正常に作動しているようでますますわからない
topとleftに代入している値をalertで見てみたところ、ちゃんと数値が入っている
・・・バグ?
さらに追記
数値の後ろにpxをつけたところ正常に作動した
どうやら数値を指定するだけではいけないらしい
なぜ以前のページでつけなくても動いたのかがわからないが、そういうことなんだろう
今開いているページの記事へのリンクがないのが非常に不便に思ったのでJavaScriptで記事の名前及びページ内リンクを抽出してみることにした
下記のスクリプトをそのままの状態で正常に挙動させるためには
・・・めんどくさかったのでこのブログで使用しているコードと同一のものを載せているが、万が一不具合があるとも限らないのでそこら辺はご留意願いたい
見出し付きでリスト抽出
下記のスクリプトをそのままの状態で正常に挙動させるためには
- ID名がArticle_Listであるブロック要素が存在する
- 記事の見出しの<div>要素のclass名がmainEntryTitleである
- elm4,elm5,s,elmmの変数を予約していない
<script type="text/javascript">
<!--
elm4 = document.getElementsByTagName('div');
elm5 = document.getElementById('Article_List');
s = 0;
elm5.innerHTML = "";
while(s < elm4.length){
if(elm4.item(s).className == 'mainEntryTitle'){
var elmm = document.createElement('a');
elmm.setAttribute('href',"#"+""+elm4.item(s).firstChild.name);
elmm.appendChild(document.createTextNode("● "+elm4.item(s).lastChild.nodeValue));
elm5.appendChild(elmm);
elm5.appendChild(document.createElement('br'));
}
s++;
}
//-->
</script>
・・・めんどくさかったのでこのブログで使用しているコードと同一のものを載せているが、万が一不具合があるとも限らないのでそこら辺はご留意願いたい
見出し付きでリスト抽出


