モヂラでしか見られないスタイルシート。
スクリプトでIE対応させてるサイトが密かに急増中。
先ずはここから
http://www.cc-net.or.jp/~piro/
代替スタイルシートに萌え〜
■ このスレッドは過去ログ倉庫に格納されています
NGNG
04/01/19 22:44ID:???
http://critical.s6.xrea.com/web/cssselect.shtml の切替スクリプトを
>>261-262の助言に従って修正してみたのだが、
依然として「最初は一番上の(代替)スタイルシートが適用され」る(IE6にて)。
どうすればいいかな?
>>261-262の助言に従って修正してみたのだが、
依然として「最初は一番上の(代替)スタイルシートが適用され」る(IE6にて)。
どうすればいいかな?
399398
04/01/20 00:51ID:??? http://minatsu.pos.to/mod_changess_v02.js でもダメ。
<link rel="stylesheet" type="text/css" href="../persistent.css"><!--固定シート-->
<link rel="stylesheet" type="text/css" href="../preferred.css" title="優先シート">
<link rel="alternative stylesheet" type="text/css" href="../alternate.css" title="代替シート">
と順番に記述した状態でスクリプトを入れると、優先シートが反映されなくなる。
<link rel="stylesheet" type="text/css" href="../persistent.css"><!--固定シート-->
<link rel="stylesheet" type="text/css" href="../preferred.css" title="優先シート">
<link rel="alternative stylesheet" type="text/css" href="../alternate.css" title="代替シート">
と順番に記述した状態でスクリプトを入れると、優先シートが反映されなくなる。
400398
04/01/20 00:53ID:??? 誤 <link rel="alternative stylesheet" type="text/css" href="../alternate.css" title="代替シート">
正 <link rel="alternate stylesheet" type="text/css" href="../alternate.css" title="代替シート">
正 <link rel="alternate stylesheet" type="text/css" href="../alternate.css" title="代替シート">
04/01/20 08:51ID:???
>>398
よく解らんのだけどこういうこと?
> if(sfTitles.indexOf(sheet)==-1) sheet=sS[0].title;
この部分(main()内とfInit()内の2ヶ所)を次のように修正:
if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle || sS.alternateTitle || sS[0].title;
で、fGetStyleTitles() にコード追加:
function fGetStyleTitles(){
/* スタイルシートの一覧を取得 */
sS=document.styleSheets;
for(i=0; i<sS.length; i++){
if (sS[i].title){
if (sfTitles.indexOf(sS[i].title)==-1) {
sfTitles+=sS[i].title;
sfTitles+=",";
}
// 以下追加コード:
// ここで優先スタイルと最初の代替スタイルを取得しておく
if ( N6 ) var rel = sS[i].ownerNode.rel.toLowerCase();
else var rel = sS[i].owningElement.rel.toLowerCase();
if ( rel == 'stylesheet' && !sS.preferredTitle )
sS.preferredTitle = sS[i].title;
else if ( rel == 'alternate stylesheet' && !sS.alternateTitle )
sS.alternateTitle = sS[i].title;
// 追加ここまで
}
}
sfTitles+="なし";
sfTitle=sfTitles.split(",");
}
よく解らんのだけどこういうこと?
> if(sfTitles.indexOf(sheet)==-1) sheet=sS[0].title;
この部分(main()内とfInit()内の2ヶ所)を次のように修正:
if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle || sS.alternateTitle || sS[0].title;
で、fGetStyleTitles() にコード追加:
function fGetStyleTitles(){
/* スタイルシートの一覧を取得 */
sS=document.styleSheets;
for(i=0; i<sS.length; i++){
if (sS[i].title){
if (sfTitles.indexOf(sS[i].title)==-1) {
sfTitles+=sS[i].title;
sfTitles+=",";
}
// 以下追加コード:
// ここで優先スタイルと最初の代替スタイルを取得しておく
if ( N6 ) var rel = sS[i].ownerNode.rel.toLowerCase();
else var rel = sS[i].owningElement.rel.toLowerCase();
if ( rel == 'stylesheet' && !sS.preferredTitle )
sS.preferredTitle = sS[i].title;
else if ( rel == 'alternate stylesheet' && !sS.alternateTitle )
sS.alternateTitle = sS[i].title;
// 追加ここまで
}
}
sfTitles+="なし";
sfTitle=sfTitles.split(",");
}
04/01/20 12:22ID:???
403398
04/01/20 15:16ID:??? >>401
有り難う、それで出来ますね。
ただ、No-Styleを選択しても固定シートは解除されないので、もう一工夫必要っぽい。
いま下記など参考に試行錯誤中。
cf. http://east.portland.ne.jp/~sigekazu/css/javascript3.htm
有り難う、それで出来ますね。
ただ、No-Styleを選択しても固定シートは解除されないので、もう一工夫必要っぽい。
いま下記など参考に試行錯誤中。
cf. http://east.portland.ne.jp/~sigekazu/css/javascript3.htm
04/01/20 15:45ID:???
>>403
fChangeSS(ssTitle) の
> sS[i].disabled = ((sS[i].title==ssTitle)||(!sS[i].title)) ?
> false : true;
を次のように修正:
sS[i].disabled = ssTitle=='No-Style' ? true : (sS[i].title!=ssTitle && sS[i].title);
でどう?
fChangeSS(ssTitle) の
> sS[i].disabled = ((sS[i].title==ssTitle)||(!sS[i].title)) ?
> false : true;
を次のように修正:
sS[i].disabled = ssTitle=='No-Style' ? true : (sS[i].title!=ssTitle && sS[i].title);
でどう?
04/01/20 15:58ID:???
>>404 それだと、やはり優先シート(title属性あり)が無効になるだけでは。
406405
04/01/20 16:05ID:??? いや、ちゃんと全スタイルシートが無効になるね。ごめん。
04/01/20 21:36ID:???
04/01/20 22:41ID:???
>>407
「さらってうまいこと」となると… _| ̄|○
「さらってうまいこと」となると… _| ̄|○
04/01/21 00:22ID:???
×サラってうまいこと
○浚ってうまいこと
○浚ってうまいこと
04/01/21 08:06ID:???
411403
04/01/21 11:08ID:??? おお、一挙にスッキリしましたね。試したら、成功しました。
ところでpって何の略?
ところでpって何の略?
04/01/21 11:27ID:???
> ところでpって何の略?
propertyName...考えるの面倒でさ。
propertyName...考えるの面倒でさ。
04/01/21 11:47ID:???
お、久しぶりに書き込みが続いて……と思ったら、無視され通しの>>397。哀れ。
04/01/25 02:20ID:???
XML Stylesheet はアプリケーション側で対応してくれないとどうにもならんですよね?
04/01/26 00:24ID:???
>>414 アゲないと、返事は来ないよ。
04/01/26 18:42ID:???
04/01/26 19:01ID:???
HTML+CSSの場合だってアプリケーションが対応してなきゃどうにもならんでしょ。
418414
04/01/28 02:39ID:???04/01/28 16:48ID:???
>>401が改良したスタイル切替スクリプトを試したが、惜しいかな、
次のケースで問題が起きる。
<link rel="stylesheet" type="text/css" href="../persistent.css"><!--固定シート-->
<!-- 優先シートは無し -->
<link rel="alternate stylesheet" type="text/css" href="../alternate.css" title="代替シート">
この記述でスクリプトを作動させると、いきなり代替シートが適用されてしまった。
固定シートにtitleをつけて優先シートにすれば、適用されるのはpersistent.cssになるが、
それだとalternate.cssへの切換を実行したときに、persistent.cssの指定が全て無効になる。
つまり、persistent.cssを適用した上でのalternate.cssによる追加・上書き指定ができない。
この点が修正されれば汎用スクリプトになるんだが……。うまい手は、無いものか。
今の所、下記のごとくpersistent.cssをtitle無しと有りとで重複指定して対処してるが。
<link rel="stylesheet" type="text/css" href="../persistent.css"><!--固定シート-->
<link rel="stylesheet" type="text/css" href="../persistent.css" title="優先シート">
<link rel="alternate stylesheet" type="text/css" href="../alternate.css" title="代替シート">
次のケースで問題が起きる。
<link rel="stylesheet" type="text/css" href="../persistent.css"><!--固定シート-->
<!-- 優先シートは無し -->
<link rel="alternate stylesheet" type="text/css" href="../alternate.css" title="代替シート">
この記述でスクリプトを作動させると、いきなり代替シートが適用されてしまった。
固定シートにtitleをつけて優先シートにすれば、適用されるのはpersistent.cssになるが、
それだとalternate.cssへの切換を実行したときに、persistent.cssの指定が全て無効になる。
つまり、persistent.cssを適用した上でのalternate.cssによる追加・上書き指定ができない。
この点が修正されれば汎用スクリプトになるんだが……。うまい手は、無いものか。
今の所、下記のごとくpersistent.cssをtitle無しと有りとで重複指定して対処してるが。
<link rel="stylesheet" type="text/css" href="../persistent.css"><!--固定シート-->
<link rel="stylesheet" type="text/css" href="../persistent.css" title="優先シート">
<link rel="alternate stylesheet" type="text/css" href="../alternate.css" title="代替シート">
04/01/28 17:01ID:???
>>419
if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle || sS.alternateTitle || sS[0].title;
↓
if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle;
if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle || sS.alternateTitle || sS[0].title;
↓
if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle;
04/01/28 18:26ID:???
>>420
いや、それだと代替シートとNo-Styleだけが選択可能になって、
初期状態(固定シート)が選択肢に出てこなくなりますよ。
つまり一度代替シートに切替すると、元に戻せない。
title無し(固定シート)の<link rel="stylesheet">がある場合は
それに"default"とか何とか適当な名前をつけて選択肢が出る仕組みを作ればいいのだけど。
……チト手に余る。
いや、それだと代替シートとNo-Styleだけが選択可能になって、
初期状態(固定シート)が選択肢に出てこなくなりますよ。
つまり一度代替シートに切替すると、元に戻せない。
title無し(固定シート)の<link rel="stylesheet">がある場合は
それに"default"とか何とか適当な名前をつけて選択肢が出る仕組みを作ればいいのだけど。
……チト手に余る。
04/01/28 19:06ID:???
if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle || 'Default'; // 修正
....
if (!sS.preferredTitle) sfTitles+="Default,"; // 追加
sfTitles+="No-Style";
....
sS[i].disabled =
// ssTitle=='No-Style' ? true : (sS[i].title!=ssTitle && sS[i].title);
// ↓に修正
ssTitle=='No-Style' ? true :
ssTitle=='Default' ? (sS[i].title!=sS.preferredTitle && sS[i].title) :
(sS[i].title!=ssTitle && sS[i].title);
....
if (!sS.preferredTitle) sfTitles+="Default,"; // 追加
sfTitles+="No-Style";
....
sS[i].disabled =
// ssTitle=='No-Style' ? true : (sS[i].title!=ssTitle && sS[i].title);
// ↓に修正
ssTitle=='No-Style' ? true :
ssTitle=='Default' ? (sS[i].title!=sS.preferredTitle && sS[i].title) :
(sS[i].title!=ssTitle && sS[i].title);
423419
04/01/28 20:26ID:??? >>422
有り難う! 成功しました。
あと、Defaultが選択肢の先頭に来ると完璧なんですが。
いま、こんな感じでスタイル選択formを書き込んでます。↓
document.writeln('<form action="" id="StyleChangeForm">\n'+nHTML+'</form>');
function fMakeHTML(){/* 選択フォームのHTMLを作成する */
nHTML='<ul>\n';
for(i=0; i<sfTitle.length; i++){
nHTML+='<li><input type="radio" id="id'+sfTitle[i]+'" name="Style" onclick="fSelectSS(this);" value="'+sfTitle[i];
nHTML+=(sfTitle[i]==sheet) ? '" CHECKED>' : '">';
nHTML+='<label for="id'+sfTitle[i]+'">'+sfTitle[i]+'</label></li>\n';
}
nHTML+='</ul>';
これだと、代替シート・Default・No-Styleの順に選択肢が列ぶんですよね。
Default・代替シート・No-Styleの順(head内link要素を並べた順)にするにはどうしたらよいですか。
有り難う! 成功しました。
あと、Defaultが選択肢の先頭に来ると完璧なんですが。
いま、こんな感じでスタイル選択formを書き込んでます。↓
document.writeln('<form action="" id="StyleChangeForm">\n'+nHTML+'</form>');
function fMakeHTML(){/* 選択フォームのHTMLを作成する */
nHTML='<ul>\n';
for(i=0; i<sfTitle.length; i++){
nHTML+='<li><input type="radio" id="id'+sfTitle[i]+'" name="Style" onclick="fSelectSS(this);" value="'+sfTitle[i];
nHTML+=(sfTitle[i]==sheet) ? '" CHECKED>' : '">';
nHTML+='<label for="id'+sfTitle[i]+'">'+sfTitle[i]+'</label></li>\n';
}
nHTML+='</ul>';
これだと、代替シート・Default・No-Styleの順に選択肢が列ぶんですよね。
Default・代替シート・No-Styleの順(head内link要素を並べた順)にするにはどうしたらよいですか。
04/01/28 20:33ID:???
if (!sS.preferredTitle) sfTitles+="Default,";
↓
if (!sS.preferredTitle) sfTitles="Default,"+sfTitles;
↓
if (!sS.preferredTitle) sfTitles="Default,"+sfTitles;
04/01/28 20:41ID:???
誰かまとめてサイト作れ
04/01/28 21:00ID:???
ご自分でどうぞ。
427419
04/01/28 21:03ID:???428419
04/01/28 22:26ID:??? いまウェブに件のスクリプトをアップロードして試したら、
ローカルでは起きなかった問題が――。
A:固定シートと優先シートとがあり、代替シートの無いページ
B:優先シート無し、固定シートと代替シートがあるページ
このA-B間を行き来すると、選択もしてないのにNo-Styleになってしまった。
B-B間(Bを表示させたあと、再度Bを開く)でもやはり勝手にスタイルが解除される。
A-A間では大丈夫みたいだ。
よくわからないけど、Cookieの所為かしらん。
ローカルでは起きなかった問題が――。
A:固定シートと優先シートとがあり、代替シートの無いページ
B:優先シート無し、固定シートと代替シートがあるページ
このA-B間を行き来すると、選択もしてないのにNo-Styleになってしまった。
B-B間(Bを表示させたあと、再度Bを開く)でもやはり勝手にスタイルが解除される。
A-A間では大丈夫みたいだ。
よくわからないけど、Cookieの所為かしらん。
04/01/29 08:32ID:???
function fReadSS(){
/* 現在適用されているスタイルシートを読み込む */
NowSheet="Default";
for(i=0; i<sS.length; i++) {
if ((sS[i].disabled)&&(!sS[i].title)) { NowSheet='No-Style'; break; }
else if ((!sS[i].disabled)&&(sS[i].title)) { NowSheet=sS[i].title; break; }
}
}
...かな。ちゃんと検証してないけど。
それはそうとGeckoでCookieが存在する場合に、
不具合回避しつつレンダリング前に有効なスタイルを指定するためにこういうことをしていて
> document.write('<META http-equiv="Default-Style" content="'+ sheet +'" />');
要は優先スタイル指定をCookieから読み出した名前で上書きしていて
このために>>410の方法で意図される優先スタイル名を取得できなくなっている
(>>410は単にロード時にタイトル付きスタイルの有効/無効を見ているだけだから)。
気になるなら別な対策が必要になる予感。
/* 現在適用されているスタイルシートを読み込む */
NowSheet="Default";
for(i=0; i<sS.length; i++) {
if ((sS[i].disabled)&&(!sS[i].title)) { NowSheet='No-Style'; break; }
else if ((!sS[i].disabled)&&(sS[i].title)) { NowSheet=sS[i].title; break; }
}
}
...かな。ちゃんと検証してないけど。
それはそうとGeckoでCookieが存在する場合に、
不具合回避しつつレンダリング前に有効なスタイルを指定するためにこういうことをしていて
> document.write('<META http-equiv="Default-Style" content="'+ sheet +'" />');
要は優先スタイル指定をCookieから読み出した名前で上書きしていて
このために>>410の方法で意図される優先スタイル名を取得できなくなっている
(>>410は単にロード時にタイトル付きスタイルの有効/無効を見ているだけだから)。
気になるなら別な対策が必要になる予感。
04/01/29 10:28ID:???
04/01/29 10:53ID:???
>>430
Operaも自前で選択できるべ
Operaも自前で選択できるべ
432Name_Not_Found
04/01/29 12:05ID:4uM/H2Vw Safariってどうなってるのかな。スクリプトは有効かな。
誰かMacの人〜?
誰かMacの人〜?
04/01/29 14:23ID:???
>>429で、動作確認しました。OKです。今度こそ全て解決、かな。
function main(){/* メイン関数 */
sfTitles="";
sheet = fGetCookie('sheet');
fGetStyleTitles();
if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle || 'Default';
fChangeSS(sheet);
window.onload=fInit;
window.onunload=fEnd;
}
function fGetStyleTitles(){/* スタイルシートの一覽を取得 */
sS=document.styleSheets;
for(i=0; i<sS.length; i++){
if (sS[i].title){
if (sfTitles.indexOf(sS[i].title)==-1) {
sfTitles+=sS[i].title;
sfTitles+=",";
}
var relS = sS[i].disabled ? 'alternateTitle' : 'preferredTitle';
if ( !sS[relS] ) sS[relS]= sS[i].title;
}
}
if (!sS.preferredTitle) sfTitles="Default,"+sfTitles; // 追加
sfTitles+="スタイル解除";
sfTitle=sfTitles.split(",");
}
function main(){/* メイン関数 */
sfTitles="";
sheet = fGetCookie('sheet');
fGetStyleTitles();
if(sfTitles.indexOf(sheet)==-1) sheet = sS.preferredTitle || 'Default';
fChangeSS(sheet);
window.onload=fInit;
window.onunload=fEnd;
}
function fGetStyleTitles(){/* スタイルシートの一覽を取得 */
sS=document.styleSheets;
for(i=0; i<sS.length; i++){
if (sS[i].title){
if (sfTitles.indexOf(sS[i].title)==-1) {
sfTitles+=sS[i].title;
sfTitles+=",";
}
var relS = sS[i].disabled ? 'alternateTitle' : 'preferredTitle';
if ( !sS[relS] ) sS[relS]= sS[i].title;
}
}
if (!sS.preferredTitle) sfTitles="Default,"+sfTitles; // 追加
sfTitles+="スタイル解除";
sfTitle=sfTitles.split(",");
}
434つづき
04/01/29 14:24ID:??? function fGetCookie(cName){/* クッキーを取得 */
var c=document.cookie, a, b;
if(c.indexOf(cName + '=')!=-1){
a=c.indexOf(cName + '=');
b=c.indexOf(';',a+cName.length+1);
if(b==-1) b=c.length;
return unescape(c.substring(a+cName.length+1,b));
}
return 'noCookie';
}
function fSetCookie(cName,cTitle){/* クッキーを設定 */
var eTitle=escape(cTitle), c;
var cexpires=new Date();
if (cTitle!='')
cexpires.setTime(cexpires.getTime() + 1000*60*60*24*cdays);
else
cexpires.setTime(cexpires.getTime() - 1000*60*60*24);
c = cName + '=' + eTitle + '; domain=' + cdomain + '; path=' + cpath
+ ((cdays!=0)?('; expires=' + cexpires.toGMTString()):';') ;
document.cookie=c;
}
function fChangeSS(ssTitle){/* スタイルシートの動的切替 */
if(!document.styleSheets) return;
sS=document.styleSheets;
for(i=0; i<sS.length; i++)
sS[i].disabled =
ssTitle=='スタイル解除' ? true :
ssTitle=='Default' ? (sS[i].title!=sS.preferredTitle && sS[i].title) : //追加
(sS[i].title!=ssTitle && sS[i].title);
var c=document.cookie, a, b;
if(c.indexOf(cName + '=')!=-1){
a=c.indexOf(cName + '=');
b=c.indexOf(';',a+cName.length+1);
if(b==-1) b=c.length;
return unescape(c.substring(a+cName.length+1,b));
}
return 'noCookie';
}
function fSetCookie(cName,cTitle){/* クッキーを設定 */
var eTitle=escape(cTitle), c;
var cexpires=new Date();
if (cTitle!='')
cexpires.setTime(cexpires.getTime() + 1000*60*60*24*cdays);
else
cexpires.setTime(cexpires.getTime() - 1000*60*60*24);
c = cName + '=' + eTitle + '; domain=' + cdomain + '; path=' + cpath
+ ((cdays!=0)?('; expires=' + cexpires.toGMTString()):';') ;
document.cookie=c;
}
function fChangeSS(ssTitle){/* スタイルシートの動的切替 */
if(!document.styleSheets) return;
sS=document.styleSheets;
for(i=0; i<sS.length; i++)
sS[i].disabled =
ssTitle=='スタイル解除' ? true :
ssTitle=='Default' ? (sS[i].title!=sS.preferredTitle && sS[i].title) : //追加
(sS[i].title!=ssTitle && sS[i].title);
04/01/29 14:26ID:???
>>433-434でFA?
436つづき
04/01/29 14:26ID:??? fSetCookie('sheet',ssTitle);
}
function fSelectSS(obj){/* 選択されたスタイルシートに切替 */
sheet=obj.value;
fChangeSS(sheet);
window.focus();
}
function fInit(){/* ページが読み込まれたときの処理 */
if (document.stylesheet) insertForm();
}
function insertForm(){/* 選択フォームを追加する */
fMakeHTML();
if(document.all) {
document.writeln('<form action="" class="selectsheet" style="direction:ltr;margin:0;background:#dfdfdf;" id="StyleChangeForm">\n'+nHTML+'</form>');
}
}
function fMakeHTML(){/* 選択フォームのHTMLを作成する */
nHTML='<ul>\n';
for(i=0; i<sfTitle.length; i++){
nHTML+='<li><input type="radio" id="id'+sfTitle[i]+'" name="Style" onclick="fSelectSS(this);" value="'+sfTitle[i];
nHTML+=(sfTitle[i]==sheet) ? '" CHECKED>' : '">';
nHTML+='<label for="id'+sfTitle[i]+'">'+sfTitle[i]+'</label></li>\n';
}
nHTML+='</ul>';
}
}
function fSelectSS(obj){/* 選択されたスタイルシートに切替 */
sheet=obj.value;
fChangeSS(sheet);
window.focus();
}
function fInit(){/* ページが読み込まれたときの処理 */
if (document.stylesheet) insertForm();
}
function insertForm(){/* 選択フォームを追加する */
fMakeHTML();
if(document.all) {
document.writeln('<form action="" class="selectsheet" style="direction:ltr;margin:0;background:#dfdfdf;" id="StyleChangeForm">\n'+nHTML+'</form>');
}
}
function fMakeHTML(){/* 選択フォームのHTMLを作成する */
nHTML='<ul>\n';
for(i=0; i<sfTitle.length; i++){
nHTML+='<li><input type="radio" id="id'+sfTitle[i]+'" name="Style" onclick="fSelectSS(this);" value="'+sfTitle[i];
nHTML+=(sfTitle[i]==sheet) ? '" CHECKED>' : '">';
nHTML+='<label for="id'+sfTitle[i]+'">'+sfTitle[i]+'</label></li>\n';
}
nHTML+='</ul>';
}
437つづき
04/01/29 14:27ID:??? function fEnd(){/* 終了処理 */
fReadSS();
if (NowSheet!=sheet) fSetCookie('sheet',NowSheet);
}
function fReadSS(){/* 現在適用されてゐるスタイルシートを読み込む */
// NowSheet="スタイル解除";
NowSheet="Default";
for(i=0; i<sS.length; i++) {
// if ((!sS[i].disabled)&&(sS[i].title)) NowSheet=sS[i].title;
if ((sS[i].disabled)&&(!sS[i].title)) { NowSheet='スタイル解除'; break; }
else if ((!sS[i].disabled)&&(sS[i].title)) { NowSheet=sS[i].title; break; }
}
}
fReadSS();
if (NowSheet!=sheet) fSetCookie('sheet',NowSheet);
}
function fReadSS(){/* 現在適用されてゐるスタイルシートを読み込む */
// NowSheet="スタイル解除";
NowSheet="Default";
for(i=0; i<sS.length; i++) {
// if ((!sS[i].disabled)&&(sS[i].title)) NowSheet=sS[i].title;
if ((sS[i].disabled)&&(!sS[i].title)) { NowSheet='スタイル解除'; break; }
else if ((!sS[i].disabled)&&(sS[i].title)) { NowSheet=sS[i].title; break; }
}
}
438つづき
04/01/29 14:34ID:??? あと、.jsファイルの先頭に、これね↓。 以上WinIE用でした。
/* スタイルシート切替スクリプト */
/* http://critical.s6.xrea.com/web/cssselect.html */
/* http://minatsu.pos.to/mod_changess_v02.js */
/* http://pc2.2ch.net/test/read.cgi/hp/991400015/398-410 */
/* http://pc2.2ch.net/test/read.cgi/hp/991400015/419-429 */
if ( document.styleSheets
&& !(navigator.userAgent.indexOf("Mac_PowerPC") != -1 && navigator.userAgent.indexOf("MSIE 4") != -1)) {
/* Scriptでスタイルシートを扱えるブラウザのみ実行 */
/* 以下設定 */
cdomain=".pc2.2ch.net"; // サイトのドメイン名
cpath="/hp/"; // サイトのパス
cdays=10; // クッキーの有效日数 0=ブラウザ終了まで
/* 以上設定 */
main();
}
/* スタイルシート切替スクリプト */
/* http://critical.s6.xrea.com/web/cssselect.html */
/* http://minatsu.pos.to/mod_changess_v02.js */
/* http://pc2.2ch.net/test/read.cgi/hp/991400015/398-410 */
/* http://pc2.2ch.net/test/read.cgi/hp/991400015/419-429 */
if ( document.styleSheets
&& !(navigator.userAgent.indexOf("Mac_PowerPC") != -1 && navigator.userAgent.indexOf("MSIE 4") != -1)) {
/* Scriptでスタイルシートを扱えるブラウザのみ実行 */
/* 以下設定 */
cdomain=".pc2.2ch.net"; // サイトのドメイン名
cpath="/hp/"; // サイトのパス
cdays=10; // クッキーの有效日数 0=ブラウザ終了まで
/* 以上設定 */
main();
}
439終り
04/01/29 14:40ID:??? で、HTMLのhead内に
<!-- スタイル選択メニュー(IE5.5以降のみ) -->
<!--[if gte IE 5.5000 ]>
<script TYPE="text/javascript" charset="Shift_JIS" src="../changess.js"></script>
<![endif]-->
としておいてから、
HTMLソースでスタイル選択フォームを挿入したい箇所に、これを。
<!--[if gte IE 5.5000 ]>
<script type="text/javascript">insertForm();</script>
<![endif]-->
<!-- スタイル選択メニュー(IE5.5以降のみ) -->
<!--[if gte IE 5.5000 ]>
<script TYPE="text/javascript" charset="Shift_JIS" src="../changess.js"></script>
<![endif]-->
としておいてから、
HTMLソースでスタイル選択フォームを挿入したい箇所に、これを。
<!--[if gte IE 5.5000 ]>
<script type="text/javascript">insertForm();</script>
<![endif]-->
04/01/30 20:31ID:???
04/02/01 17:36ID:???
代替スタイルシート内の指定をprintメディアに反映しない(5.x/6.0)
http://cssbug.at.infoseek.co.jp/detail/winie/b108.html
でも、このページで「(スタイルシートオフ)」を選択すると
これは印刷プレビューにも反映するね。
http://cssbug.at.infoseek.co.jp/detail/winie/b108.html
でも、このページで「(スタイルシートオフ)」を選択すると
これは印刷プレビューにも反映するね。
04/02/05 02:37ID:???
>>432
document.styleSheets[n].titleが常にnull値を返す(S1.0)
http://cssbug.at.infoseek.co.jp/detail/safari/b005.html
>このため、スタイルシート切り替えスクリプトを使用することができない。
Safari1.2でも修正されずとか。
document.styleSheets[n].titleが常にnull値を返す(S1.0)
http://cssbug.at.infoseek.co.jp/detail/safari/b005.html
>このため、スタイルシート切り替えスクリプトを使用することができない。
Safari1.2でも修正されずとか。
04/02/15 17:51ID:???
ランダムでスタイルシートを選ぶとかできる?
それができれば(・∀・)カコイイ!!
XSLTでもできればいいなぁ。
それができれば(・∀・)カコイイ!!
XSLTでもできればいいなぁ。
04/02/15 22:16ID:???
JavaScriptでできるだろ、そんなの。
445Name_Not_Found
04/02/16 03:13ID:G9ccqEZA 宇宙開発事業団ページのスタイルシート
http://www.nasda.go.jp//shared/css/forprint.css
/* ==== Netscape7 で背景画像が可愛くなる現象への対処 ==== */
http://www.nasda.go.jp//shared/css/forprint.css
/* ==== Netscape7 で背景画像が可愛くなる現象への対処 ==== */
04/02/16 07:07ID:???
447Name_Not_Found
04/02/16 14:58ID:loLWXo8u 他人が改造して自分のサイトで使ってるjs落として勝手に使ってもいいのかな?
マナー違反?
マナー違反?
04/02/16 15:13ID:???
449Name_Not_Found
04/02/16 15:22ID:loLWXo8u04/02/17 09:01ID:???
04/02/21 12:14ID:???
http://white.sakura.ne.jp/~piro/index.html
http://white.sakura.ne.jp/~piro/common/scripts/SSS.js
http://white.sakura.ne.jp/~piro/common/scripts/SSS.pl
http://white.sakura.ne.jp/~piro/common/scripts/SSS.js
http://white.sakura.ne.jp/~piro/common/scripts/SSS.pl
452Name_Not_Found
04/02/25 06:14ID:lViUtdSY http://critical.s6.xrea.com/web/cssselect.shtml
のスタイルシート選択「なし」を表示させたくないのですが、
どこのスクリプトを変更すればよいのか分かりません。
分かる人いたら教えてください。
のスタイルシート選択「なし」を表示させたくないのですが、
どこのスクリプトを変更すればよいのか分かりません。
分かる人いたら教えてください。
04/02/25 06:23ID:???
勉強しなさい。
せめてスレ違いだってことくらい気付けるようになりなさい。
せめてスレ違いだってことくらい気付けるようになりなさい。
04/02/25 15:02ID:???
JavaScriptの問題だが、「スレ違い」ってこともないな。
sfTitles+="なし";
を削ってみれば?
sfTitles+="なし";
を削ってみれば?
04/02/25 18:10ID:???
>454
JavaScript の「教えてください」なスレは他にある。
JavaScript の「教えてください」なスレは他にある。
04/02/25 19:17ID:???
>>455 しかし特にスタイル切換スクリプトに関してはこのスレッドで幾度か質問や回答がされてきたわけだが。
04/02/25 19:24ID:???
>456
有用な質問やら回答やらなら構わんと思うが、
「やり方がわかりません、教えてください」だけってのはどうよ。
もっと基礎的なところに立ち返ってやっていって欲しいんだが。
有用な質問やら回答やらなら構わんと思うが、
「やり方がわかりません、教えてください」だけってのはどうよ。
もっと基礎的なところに立ち返ってやっていって欲しいんだが。
458Name_Not_Found
04/02/26 14:47ID:5nZud7tL でもまあ許容範囲でしょ。
あんまり縦割りなのもちょっとね。
あんまり縦割りなのもちょっとね。
04/02/26 15:15ID:???
1 :笑門来福 :04/02/11 17:52 ID:???
例
Leinwand http://www.leinwand.jp/
amemix http://amemix.gogo.tc/
GIRLHOOD http://www.moon.sannet.ne.jp/rakugaki/
津波荘 http://www.ktsonline.jp/~minatsu/
2ndNewHouse http://www.ichigo.sakura.ne.jp/~2nd/
straywretchscrap http://sws.lib.net/
Y.Tsutanoontheweb http://www.tsutano.com/yutaka/
59 :Name_Not_Found :04/02/19 16:25 ID:???
>>1
・問題なし
・404
・問題なし
・問題なし
・JS切るとcss表示されない、alternate stylesheet設定無し
・切り替えられるの?
・JS切るとcss表示されない、alternate stylesheet設定無し
例
Leinwand http://www.leinwand.jp/
amemix http://amemix.gogo.tc/
GIRLHOOD http://www.moon.sannet.ne.jp/rakugaki/
津波荘 http://www.ktsonline.jp/~minatsu/
2ndNewHouse http://www.ichigo.sakura.ne.jp/~2nd/
straywretchscrap http://sws.lib.net/
Y.Tsutanoontheweb http://www.tsutano.com/yutaka/
59 :Name_Not_Found :04/02/19 16:25 ID:???
>>1
・問題なし
・404
・問題なし
・問題なし
・JS切るとcss表示されない、alternate stylesheet設定無し
・切り替えられるの?
・JS切るとcss表示されない、alternate stylesheet設定無し
04/02/26 15:21ID:???
宣伝乙
04/02/26 18:10ID:???
>>459
どこの自演か一目でわかるラインナップですね。
どこの自演か一目でわかるラインナップですね。
04/02/28 13:19ID:???
知らない。どこ?
04/03/29 13:03ID:???
age
04/04/06 18:54ID:???
CSS切替スクリプトを書いてみる
http://www.akatsukinishisu.net/itazuragaki/id/write_CSS_change_script
とことん標準に拘ったCSS切り替えスクリプト
http://members.jcom.home.ne.jp/jintrick/Personal/d20043f.html#d12_2
http://www.akatsukinishisu.net/itazuragaki/id/write_CSS_change_script
とことん標準に拘ったCSS切り替えスクリプト
http://members.jcom.home.ne.jp/jintrick/Personal/d20043f.html#d12_2
04/04/13 13:11ID:???
教えて下さい
スタイルシートの切り替えはJavaScriptでないとできませんか。
HTMLだけでは無理でしょうか。
お願いします
スタイルシートの切り替えはJavaScriptでないとできませんか。
HTMLだけでは無理でしょうか。
お願いします
04/04/13 13:17ID:???
無理です。
04/04/13 13:34ID:???
link要素書いてれば
対応ブラウザなら一応できなくもないけど…>切り替え
あれだけだとちょっと辛い
対応ブラウザなら一応できなくもないけど…>切り替え
あれだけだとちょっと辛い
04/04/13 13:49ID:???
どちらにしろ閲覧する側に依存する。JavaScriptでもlink要素でも。
04/04/13 18:43ID:???
PHPやCGIもあるけどね、あれも内部的にはjs使ってたりして?
04/04/13 19:04ID:???
CGI 使ってるとこもあるけど Cookie 食わせたりしてるみたいだしなぁ。
どのみちHTML *だけ* では無理。
どのみちHTML *だけ* では無理。
04/04/14 22:40ID:???
>>470
だからMozillaやOperaなら対応してるって。HTMLだけで代替シートに切替可。
だからMozillaやOperaなら対応してるって。HTMLだけで代替シートに切替可。
04/04/14 22:57ID:???
>>470
JSでもクッキー食わせてるんじゃないの?
JSでもクッキー食わせてるんじゃないの?
04/04/15 04:19ID:???
04/04/15 07:10ID:???
04/04/15 13:26ID:???
04/07/04 15:40ID:???
04/08/01 19:04ID:???
04/08/01 21:10ID:???
だいぶ前になくなってたよ。てか1ヶ月放置でも生きてるのか・・。
Web制作板ってほんと過疎だな・・
Web制作板ってほんと過疎だな・・
04/08/02 09:16ID:???
2ヶ月半放置でも生きてたよ。
04/08/22 21:12ID:???
ヤッホー お休みかなぁ〜〜?
481Name_Not_Found
04/09/03 19:33ID:ehp0tlHa javascript質問スレから誘導されてきました。
当方が使っているCSS切り替えスクリプトなんですが、
MacIEに対応していないんです。当方、Macを所持して
いないので、もし宜しければ、どなたかMacIEに対応
させる追加ソースを代わりに書いて下さいませんでしょうか。
宜しくお願い致します。
dat落ちしそうなのでageておきますね。
当方が使っているCSS切り替えスクリプトなんですが、
MacIEに対応していないんです。当方、Macを所持して
いないので、もし宜しければ、どなたかMacIEに対応
させる追加ソースを代わりに書いて下さいませんでしょうか。
宜しくお願い致します。
dat落ちしそうなのでageておきますね。
04/09/05 13:28ID:???
04/10/06 19:06:33ID:???
ヤッホー お休みかなぁ〜〜?
04/10/14 12:28:21ID:???
参考まで。
http://babu.jp/~useyan/m/css.html
http://babu.jp/~useyan/m/css.html
04/10/14 12:39:37ID:???
追加。
代替スタイルシート切替JavaScript
http://confetto.s31.xrea.com/misc/switchstyles
スタイルシート切替スクリプト
http://antipop.zapto.org/mt/archives/000584.php
http://antipop.zapto.org/src/style_select.phps
代替スタイルシート切替JavaScript
http://confetto.s31.xrea.com/misc/switchstyles
スタイルシート切替スクリプト
http://antipop.zapto.org/mt/archives/000584.php
http://antipop.zapto.org/src/style_select.phps
04/10/14 19:41:40ID:???
この探偵ファイルの右側のスクロールってソースのどの部分使えばいいんでしょうか?
http://www.tanteifile.com/diary/2004/10/14_02/index.html
http://www.tanteifile.com/diary/2004/10/14_02/index.html
04/10/15 04:55:17ID:???
はあ? スレッドを間違ってませんか。↑
488486
04/10/15 05:33:12ID:??? 間違えました。
04/11/10 06:40:18ID:???
代替CSS選択Javascriptってフォームをdocument.writeで出してるのが多いからapplication/xhtml+xmlでは動作しないんだよな。
>>485のはOKだけど
>>485のはOKだけど
04/12/09 15:24:09ID:???
切り替えスクリプト使いたいんだけど、スクリプト云々の前にCSSのlinkにtitle属性指定したら、何故か一瞬だけしかCSS適応されなくてすぐに解除される・・・orz
title属性消したら普通に適応される。なんでだろう・・・誰か教えてください
title属性消したら普通に適応される。なんでだろう・・・誰か教えてください
04/12/09 19:58:32ID:???
>>490
ページ読み込み後に切り替えてるスクリプトならチラつくことあるよ。
代替スタイルシートの設定の仕方あってる?
rel="stylesheet"でtitle属性が違うLINK要素が2つ以上とか無い?
ページ読み込み後に切り替えてるスクリプトならチラつくことあるよ。
代替スタイルシートの設定の仕方あってる?
rel="stylesheet"でtitle属性が違うLINK要素が2つ以上とか無い?
492490
04/12/10 15:05:00ID:AWeIYVva >>491
それは大丈夫です。ちなみにIEだとちゃんと適応されました。Firefoxだと解除されます○| ̄|_
それは大丈夫です。ちなみにIEだとちゃんと適応されました。Firefoxだと解除されます○| ̄|_
04/12/14 17:35:35ID:???
チラつきはIEでもOperaでもGeckoでも起こる。
CSSのサイズが若干大きいとHTMLレンダリングの開始にCSS読み込みが間に合わなかったらチラつく。
レンダリングが開始される前にCSSの読み込み(キャッシュ含)が終わっていればチラつかない。
CSSのサイズが若干大きいとHTMLレンダリングの開始にCSS読み込みが間に合わなかったらチラつく。
レンダリングが開始される前にCSSの読み込み(キャッシュ含)が終わっていればチラつかない。
04/12/17 17:56:18ID:???
一昨日くらいまで490とまったく同じ症状だった。
IEとかネスケでは大丈夫なのに、Firefoxだと、
一瞬だけCSS適応されてすぐに解除される。
だけど、今日まで忙しくてサイトに触れていなかったら、
急にちゃんと適応されるようになった。
もともとHTMLやCSSに問題はなかったし、
ブラウザがなんか故障したんだろう程度にしか
思わなかったが
IEとかネスケでは大丈夫なのに、Firefoxだと、
一瞬だけCSS適応されてすぐに解除される。
だけど、今日まで忙しくてサイトに触れていなかったら、
急にちゃんと適応されるようになった。
もともとHTMLやCSSに問題はなかったし、
ブラウザがなんか故障したんだろう程度にしか
思わなかったが
495名無しさん@修業中
05/01/06 15:44:33ID:OHFebcH/ JSの切り方を教えてほしい
05/01/06 22:20:11ID:???
普通にオプションで切れる。
IE ? まだそんなもん使ってんの?深い場所にあるからよく見ろよ
IE ? まだそんなもん使ってんの?深い場所にあるからよく見ろよ
497Name_Not_Found
05/02/20 16:12:55ID:bsIzVx3F ほす
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「トランプは退陣を」 米各地で抗議デモ、最大規模 ★4 [蚤の市★]
- 【芸能】上沼恵美子、中居正広氏に激怒「クズやな!」「女をモノ扱いにして」「最悪やわ」 [Ailuropoda melanoleuca★]
- 【大阪】ドラッグストア「コスモス」が謝罪、「無断駐車」警告は誤り 共用駐車場の認識不足が原因 [ぐれ★]
- マスク氏「関税ゼロ望ましい」 欧州と米国 [蚤の市★]
- あぼーん
- 【動物】なぜ千葉で? 施設脱走し「キョン」大繁殖 8万頭超どう向き合う [ぐれ★]
- 【実況】博衣こよりのえちえちクロノトリガー🧪 ★3
- 社会不適合者の🏡
- 【石破】 Yahoo ID、勝手に停止されて生活が詰む人が急増 [732912476]
- 【実況】博衣こよりのえちえちクロノトリガー🧪 ★2
- ▶俺と宝鐘マリンのラブラブな愛の巣💕👫💕
- ●鷹嶺ルイ大阪杯配信待機所