人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

BODY内のスクリプトでHEADに<style>...</style>を埋め込みたい。
ヘッダをさわることができないASPサービスを使用しています。
しかしbody内にスクリプトが書けるので、ヘッダにstyleを埋め込めるのではと思い、検索して下記情報は見つけました。
http://www.tagindex.com/cgi-lib/bbs/patio.cgi?mode=view2&f=146&no=325

この例は外部cssを読む例ですが、今回はわずかな改変なのでstyleタグを直接埋め込みたいと思っています。
下記の内容を埋め込むスクリプトを書いていただけませんでしょうか。

>|css|
h2 {
color:#01468B;
font-weight:bold;
font-size:12px;
border-bottom:1px solid #8DAAC7;
padding:6px 2px 2px 2px;
cursor:default;
margin-top:4px;
}
||<

●質問者: memo77
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:ASP BODY border COLOR CSS
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● yumutan
●10ポイント

BODY内にCSSタグを書くという方法もあるみたいです。(UAによってはいけないかも?)

↓↓↓これをBODY内に↓↓↓

<style type="text/css">

<!??

h2 {color:#01468B;font-weight:bold;font-size:12px;border-bottom:1px solid #8DAAC7;padding:6px 2px 2px 2px;cursor:default;margin-top:4px;}

??>

</style>

<h2>あいうえお</h2>

表示がくずれるので<>とコメントアウトは大文字で書きました

IE6

IE7

Firefox2

では正常にCSSが適用されていました。

◎質問者からの返答

これはブラウザ依存で正しくない実装なのでなるべく避けようと思っています。

また、FireFoxでは動作しましたが、IE7では適用されませんでした。


2 ● yumutan
●10ポイント

body内からheadに情報を埋め込むことはできません。

<h2 style="color:#01468B;font-weight:bold;?">あいうえお</h2>

みたいな形で記載するしかないと思います。

◎質問者からの返答

上記サイトにサンプルが載っているのですが、サンプルが誤っているということでしょうか。


3 ● y-kawaz
●20ポイント

以下のURLでJavascriptからCSSを設定を設定する手順をまとめています。

http://www.kawaz.jp/pukiwiki/?JavaScript%A5%E1%A5%E2#wb6005c8

デモページのソースが参考になると思います。

◎質問者からの返答

最初まったく理解できませんでしたが、他の方のレスを検証している中で、情報を参考にできるようになりました。

ありがとうございました。


4 ● Mars
●100ポイント ベストアンサー

Javascriptでは改行をなんとかしないとデータとして持てないので

あまり美しくも簡単にもならないです。

元サンプルのように外部ファイルを用意して読み込ませた方がメンテナンスとか楽になるかと思います。

一応、サンプル。

(BODY内のどこに書いてもいいけど、最後に書けば最後まで適用されないのでみっともないかも)

<script type="text/javascript">
var selector = 'H2';
var data = 
"color:#01468B;?長くなるので省略?;margin-top:4px;";

document.getElementsByTagName('head')[0].
appendChild(document.createElement('style'));
var CSS = document.styleSheets[document.styleSheets.length -1]; 
if(CSS.insertRule) {//IE以外
CSS.insertRule(selector+'{'+data+'}', 0);
} else {//IE
CSS.addRule(selector, data);
}
</script>
◎質問者からの返答

いちばんクリティカルな回答でした。

ありがとうございました。


5 ● redwing1
●10ポイント

別にヘッダにかかなくても、本文に書く方法もありますよ。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ