アプリ版:「スタンプのみでお礼する」機能のリリースについて

理想:http://iswebmag.hp.infoseek.co.jp/sample171.html
※↑IEでは動作するけどFFで動作しない
こんな感じの動作をページ読み込み時に自動で実行したいのですが、
FireFox3では上手く動作しないようです。
何かいい方法はありませんでしょうか?
html

<body>
<script type="text/javascript" src="roadcss.js"></script>
</body>
_____
roadcss.js

function roadcss(){
document.createStyleSheet('http://file.tubamesound.blog.shinobi.jp/clap.css …
document.getElementsByTagName('center')[1].className="hide";}
roadcss();


もちろん<head>内で直接読み込めばいいよとかはなしですよ?

A 回答 (4件)

よく分かりませんが、恐らくこの書き方は不適切なのでは。


本来なら

head内で読み込んで

<body onload="roadcss();">

のようにした方がいいと思います。
こうしたくない或いはできない理由はなんでしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
しかし、<body>以下でしか改変できないという特殊な状態だとお考えください。<head>はいじれません。
あと、あの書き方って不適切なのでしょうか?
どこかのスクリプとみてて見つけて、
一応動くので使ってました。

お礼日時:2008/07/31 01:42

と思ったら、 document.createStyleSheet() はIE(Trident)専用の


メソッドのようです。
他のブラウジングエンジンにも対応するなら

document.createElement('style');

を使用しましょう。

参考URL:http://d.hatena.ne.jp/amachang/20070703/1183436785
    • good
    • 0
この回答へのお礼

なるほど、そうだったのですね。便利なのに。

お礼日時:2008/07/31 01:37

>もちろん<head>内で直接読み込めばいいよとかはなしですよ?



あるいみ正解。jsでヘッダにlinkタグを組みこみます。
そもそもスタイルシートはheadにしか書けないはずなので、
少なからずこれに似たような形になると思います。

html

<html>
<head>
<script type="text/javascript" src="roadcss.js"></script>
<script type="text/javascript">
window.onload=roadcss
</script>
</head>
<body>
test
</body>
</html>

roadcss.js
function roadcss(){
var tag=document.createElement('link');
tag.setAttribute("tyle","text/css");
tag.setAttribute("rel","stylesheet");
tag.setAttribute("href","http://file.tubamesound.blog.shinobi.jp/clap.css …
document.getElementsByTagName('head')[0].appendChild(tag);
}
    • good
    • 0
この回答へのお礼

おー、そうきましたか~
このjsを
<body onload="roadcss();">
<script type="text/javascript" src="roadcss.js"></script>
</body>で読み込んだりするのは
やっぱり無理かなぁ・・・無理そうだなぁ・・・
明日やってみます、ありがとうございました。

お礼日時:2008/07/31 01:48

あ、bodyで呼び出したかったんでしたっけ・・・



<html>
<head>
・・・
</head>
<body>
test
<script type="text/javascript" src="roadcss.js"></script>
<script type="text/javascript">
window.onload=roadcss
</script>
</body>
</html>

でいけるんじゃないかなぁ・・・
    • good
    • 2
この回答へのお礼

おや、わざわざ補足ありがとうございます。
window.onload=roadcss();
じゃなくてもいいのかな?
私はroadcss.jsの最後にroadcss();で処理しました。

とにかく解決できた。
ありがとうございました。

お礼日時:2008/07/31 14:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!