//* スタイルシート切替スクリプト (ラヂオボタン式) */ // いちゆう http://critical.s6.xrea.com/web/cssselect.html // 津波荘 http://minatsu.pos.to/mod_changess_v02.js /* 代替スタイルシートに萌え〜 http://toro.2ch.net/test/read.cgi/hp/991400015/398-410   http://toro.2ch.sc/test/read.cgi/hp/991400015/419-439   https://mevius.2ch.net/test/read.cgi/hp/991400015/549-588 */ // 炭色地帯 http://www.usamimi.info/~geko/arch_web/02_sample/018/index.html // 徒委記 http://www.akatsukinishisu.net/wiki.cgi?CSS%C0%DA%C2%D8%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8 if (document.styleSheets && !(navigator.userAgent.indexOf("Mac_PowerPC") != -1 && navigator.userAgent.indexOf("MSIE 4") != -1)) {/* Scriptでスタイルシートを扱へるブラウザのみ實行 */ /* 以下設定 */ cdomain="livresque.g1.xrea.com";//サイトのドメイン名 cpath="./";//サイトのパス cdays=10;//クッキーの有效日數 0=ブラウザ終了まで plusform=false; /* true=選擇フォームを自動插入する false=插入しない(手動で を書き込む)*/ /* 以上設定 */ main(); } function main(){/* メイン函數 */ sfTitles=""; sheet = fGetCookie('sheet'); // Safari = navigator.vendor == "Apple Computer, Inc."; geckotrail = /\bGecko\/(\d+)/.exec(navigator.userAgent);/// confetto.s31.xrea.com/misc/styles.js N6 = ((geckotrail !== null) && (Number(geckotrail[1]) < 20030624))? 1:0;/// NS7.1=Mozilla1.4+? if(!N6){//Netscape6對策 http://east.portland.ne.jp/%7Esigekazu/css/javascript9_2.htm fGetStyleTitles(); //if(sfTitles.indexOf(sheet)==-1) sheet=sS[0].title; if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle || 'Default'; fChangeSS(sheet);///優先無しの場合ローカルでChromeが代替選擇初回は無效になるbugA } // else if(sheet!="noCookie") // document.write(''); /* Mozillaで最初にシート一覽を取得すると不具合を生じるので、meta要素で既定スタイルを設定 */ window.onload=fInit;//fInit(); http://www.remus.dti.ne.jp/~a-satomi/nikki/2003/10b.html#d15n02 window.onunload=fEnd; } function fGetStyleTitles() {/* スタイルシートの一覽を取得 */ sS=document.getElementsByTagName('link');//document.styleSheets;の代り、Chrome對策 for(i=0; i-1) var rel = sS[i].getAttribute("rel");//sS[i].rel if(rel.toLowerCase()=='stylesheet' && !sS.preferredTitle) sS.preferredTitle = sS[i].title; else if(/alternate/i.test(rel) && !sS.alternateTitle) sS.alternateTitle=sS[i].title;//不用 } if (!sS.preferredTitle) sfTitles='Default,'+sfTitles;// 追加 Safari5再讀込すると消える場合? sfTitles+="スタイル解除"; sfTitle=sfTitles.split(","); } function fGetCookie(cName){/* クッキーを取得 */ var c=' ' + document.cookie + ';',// Cf.https://kuragane.jp/javascript-cookie.htm cName2=' ' + cName + '=', Position=c.indexOf(cName2);//(cName+'=') if(Position!=-1) { var Start=Position+cName2.length;//cName.length+2 var End=c.indexOf(';',Start); if(End==-1) End=c.length; var cVal = c.substring(Start,End); return decodeURIComponent ? decodeURIComponent(cVal) : unescape(cVal); } return 'noCookie'; } function fSetCookie(cName,cTitle){/* クッキーを設定 */ var eTitle = encodeURIComponent ? encodeURIComponent(cTitle) : escape(cTitle); var cexpires=new Date(); if (cTitle!='') cexpires.setTime(cexpires.getTime() + 1000*60*60*24*cdays); else cexpires.setTime(cexpires.getTime() - 1000*60*60*24);// var C = cName + '=' + eTitle + '; domain=' + cdomain + '; path=' + cpath + ((cdays!=0)?('; expires=' + cexpires.toUTCString()):';');//toGMTString document.cookie=C; } function fChangeSS(ssTitle){/* スタイルシートの動的切り替へ */ if(!sS) return;// for(i=0; iをinsertBeforeしたが無效。 fSetCookie('sheet',ssTitle); } function fSelectSS(obj){/* 選擇されたスタイルシートに切り替へる */ sheet = obj.value; fChangeSS(sheet); } function fInit(){/* ページが讀み込まれたときの處理 */ if(plusform) fAddForm(); if(N6){///不要? fGetStyleTitles();//Safariでバグる元 ///fAddForm();より前に書くと自動插入でシート名が重出 if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle || 'Default'; fChangeSS(sheet); } } function fAddForm(){/* 自動插入で選擇フォームを追加 */ var nbody=document.getElementsByTagName('body')[0]; /*var */nHTML = fMakeHTML(); /// nbody.insertAdjacentHTML('afterBegin', '
'+nHTML+'
'); nForm = document.createElement('form'); nForm.action = ""; nForm.innerHTML = nHTML; nbody.insertBefore(nForm, nbody.firstChild); nForm.style.cssText="direction:ltr;margin:0;background:#ccc;"; nForm.getElementsByTagName('ul')[0].style.cssText ="list-style-type:none;margin:0;padding:0;"; for(var i=0; (nLi=nForm.getElementsByTagName('li')[i]); i++) { nLi.style.display="inline"; } } function insertForm(){/* 手動設置のbody内