• ベストアンサー

IE7でdocument.styleSheets[n].addRuleがエラーに

こちらのCSSにルールを追加するスクリプト http://bmky.net/text/note/javascript-css.html を使い、IE7でCSSを操作しようとするとエラーを吐きます。 このスクリプトの場合、対象ブラウザはIE6.0までと書いてあるのですが、 IE7で同じようなことをしようとする場合、 どのようなコードを書けばいいのでしょうか。 ご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.1

createStyleSheet()を使うとか

satosi3141
質問者

お礼

非常に遅れてすみません。回答ありがとうございます。 createStyleSheet()を使う方法も模索しましたが、 いろいろしているうちに自己解決しました。 また機会がありましたらよろしくお願いします。

関連するQ&A

  • IEでエラー

    FireFoxだと問題ないのですが、IEだとエラーが出ます。 原因がわからないので、助けてください。 IEには次のようなエラーが出ます。 ライン:5 文字:1 エラー:構文エラーです コード:0 ソースコードは以下の通りです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> 。。。。 以上、すみませんが、よろしくお願いします。

    • ベストアンサー
    • HTML
  • document.lastChild.appendChild()のIE5.5対応

    任意のHTMLファイルの<body>内に <script type="text/javascript" src="sample.js" charset="shift_jis"></script> と書いたとき、そのHTMLファイルのヘッダに sample.cssへのlinkを定義できるように --------- sample.js ----------- sample_css=document.createElement('link'); sample_css.rel='stylesheet'; sample_css.href='/sample.css'; sample_css.type='text/css'; document.lastChild.firstChild.appendChild(sample_css); … --------- sample.js ----------- と書いたのですが、IE5.5で、 document.lastChild.firstChild.appendChild(sample_css); の行がエラーとなってしまいます。 IE5.5に対応できる書き方はないものでしょうか。

  • IE6だけエラーになる???『:』って使えないの?

    <script type="text/javascript" src="http://aas.net/jsp/test.js"> </script> と書いてあるページでエラーがでます。 windows2000 IE6.0 です。 他の端末から見るとエラーは出ません。 構文が不正ですというエラーです。 『:』の文字を取り除くとエラーは出ないことから そこが原因だと思うのですが、何故エラーなのでしょう? srcに続く文にURLは書けないのでしょうか? しかし、この分はページ訪問者をカウントしてくれる CGIを提供しているページが自動的に作ってくれた文 なので、構文には間違いないと思うのですが。 javascript の場合は URLを使えないのでしょうか? どなたか回避策をご存知の方教えて下さい。 宜しくお願いします。

  • Bloggerのガジェットにdocument.write("<script~したい

    こんにちは。googleのBloggerを使っています。 このフォームに書き込む為、便宜上、<>を全角で入力しています。 <script src="hoge001.js"></script>のようなガジェットをBloggerのカスタマイズから「ガジェットの追加」ー「HTML/Javascript」を選んで設定しようとしています。 ここでhoge001.jsの001が機能によって違うため、ここをランダムに切り替えて使うべく、document.write()を使って001部分を可変にしようとしているのですが、そもそもこのBloggerのガジェットエディタで(1)のようにdocumnt.write()化したコードが正しく保存されません。保存した結果をブラウザで表示させて展開されたソースコードも、ガジェットの編集で再度エディタを開いても、(2)のコードになります。 (1)ガジェットのエディタで最初に入力したコード: <script type="text/javascript"> document.write( "<script type=\"text/javascript\" src=\"http://hogehoge.com/jslib/hoge001.js\"></script>" ) ; </script> (2)保存後再度編集で開いたコード、およびブラウザで見たソース: <script type="text/javascript"> document.write( "<script src="\" text/javascript\ http://hogehoge.com/jslib/hoge001.js\ type="\"></script>" ) ; どうにかうまくやる方法はないものでしょうか。 よろしくお願いします。 尚、hoge001.js自体の動作に問題はありません。

  • javascriptエラーについて教えてください。

    メアドを直接ソースに書かないようにするためのjavascriptで 外部ファイルを読み込むように実行してみたのですが、 「実行しましたが、ページでエラーが発生しました。」となり、 ライン:9 文字:1 エラー:‘CSAct’は宣言されていません。 コード:0 という内容のメッセージが出ます。 【HTML】 1:<HTML> 2:<HEAD> 3:<TITLE>情報</TITLE> 4:<meta http-equiv="content-type" content="text/html;charset=shift_jis"> 5:<LINK rel="stylesheet" href="××css" type="text/css"> 6:<script type="text/javascript" src="mail.js"></script> 7: <script type="text/javascript"> 8: <!-- 9: CSAct[/*CMP*/ '1320E1966'] = new Array(CSGoBack1); 10: // --> 11: </script> 12: </HEAD> 13: <body>~ 【メアドの箇所】 E-mail:<script type="text/javascript"><!--// add_AAA(); //--> </script> 【外部ファイル_mail.js】 function add_AAA(){ mail="AAA." + "BBB" + "@CCC.ne.jp"; document.write(mail.link("mailto:" + "AAA." + "BBB" + "@CCC.ne.jp")); } はっきり言ってjavascriptについて全然わかっていない超初心者です。。。 このソースもよさそうなところから引っ張ってきただけなので、 何をどう直していいのか、過去ログを見てもお手上げです。 どなたかエラーの原因がお分かりになりましたらご教授いただけないでしょうか? よろしくお願いします。

  • IEでのjQuery の実装について

    教えてください。 現在、jQuery の jqplot を利用してグラフの表示を検討しております。 HTML(ブラウザ:IE,chrome)での表示は問題なく行われますが、 HTMLをASPファイル内に組み込んでページを表示させようとすると chromeでは問題なくグラフが表示されますが、IEではエラーが発生します。 IEでも動作するようにするためのアドバイスをお願いします。 以下、ロジックです。 <!-- jQuery グラフ表示部 ここから --> <script language="javascript" type="text/javascript" src="../jQuery/jquery-1.9.0.min.js"></script> <!--[if lt IE 9]> <script language="javascript" type="text/javascript" src="../jQuery/excanvas.min.js"></script> <![endif]--> <script language="javascript" type="text/javascript" src="../jQuery/jquery.jqplot.min.js"></script> <script language="javascript" type="text/javascript" src="../jQuery/jqplot.barRenderer.min.js"></script> <script language="javascript" type="text/javascript" src="../jQuery/jqplot.categoryAxisRenderer.min.js"></script> <link rel="stylesheet" type="text/css" href="../jQuery/jquery.jqplot.min.css" /> <script> jQuery( function() { jQuery . jqplot( 'jqPlot-sample', [ [ [ '4月', 65 ], [ '5月', 72 ], [ '6月', 74 ], [ '7月', 63 ], [ '8月', 85 ], [ '9月', 90 ] ] ], { animate: true, seriesDefaults: { renderer: jQuery . jqplot . BarRenderer, }, axes: { xaxis: { renderer: jQuery . jqplot . CategoryAxisRenderer, } } } ); } ); </script> <!-- jQueryグラフ表示部 ここまで --> html部分 <div id="jqPlot-sample" style="height: 300px; width: 300px;"></div>

  • JavaScriptからCSSを呼び出す方法

    現在、Noscript時とJavaScript稼働時の呼び出すCSSを分けるため、下記のような設定をしています。whole.cssからJavaScript稼働時のCSSをimportしています。 IE6エラー内容は「'framename' が宣言されていません」です。 記述 <link href="whole.css" rel="stylesheet" type="text/css" id="css"/> <script> framename.document.getElementById ('css').href = 'whole.css'; </script> JavaScript稼働時に呼び込む設定となっています。 IE6のエラー以外他ブラウザーは正常に表示されます。 よろしくお願いします。

  • IEだけjsファイルを読み込まない指定

    よろしくお願いいたします。 IEだけに適用させたくないjsファイルがあり、 HTMLファイルの<head></head>内に、下記のように記述してみたのですが、 <!--[if !IE]> <script type="text/javascript" src="aaa.js"></script> <![endif]--> IEだけでなく他のすべてのブラウザで適用されなくなってしまいました。 書き方が間違っているのでしょうか・・? ソースは下記のようになっています。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta name="Description" content="あああ" /> <meta name="Keywords" content="あああ" /> <title>タイトル</title> <link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon" /> <link href="import.css" rel="stylesheet" type="text/css" media="all" /> <link rel="stylesheet" href="print.css" type="text/css" media="print" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <!--[if !IE]> <script type="text/javascript" src="aaa.js"></script> <![endif]--> 以下略 また、こちらのページを参考に記述いたしました。 http://blog.playunderworld.com/web/ie-conditional-comment/ もし原因をご存知でしたらお教えいただけたらと思います。 どうぞよろしくお願いいたします。

  • 関数内のグローバル変数の参照について

    はじめまして。 質問があります。 まずは以下のコードを見てください。 ---------------------------------------------------------------- <html> <head> <title>関数内のグローバル変数について</title> <script type="text/javascript"> <!-- function func1() { a = "あああ"; } //--> </script> </head> <body> <script type="text/javascript"> <!-- func1(); // ---(1) document.write("a="+a+"<br>"); // ---(2) //--> </script> </body> </html> ---------------------------------------------------------------- 上記の(1)と(2)について、上記の順番で記述すると、文字列がブラウザに 出力されるのですが、(1)と(2)の記述順を入れ替えるとIE6.0もNetscape 7.1も「aは宣言されていません。」という内容のエラーが発生して ブラウザに文字列が表示されません。なぜこのようなエラーが発生する のでしょうか?ご教授お願いします。

  • 透過PNGをIE6に適用させたい

    透過PNGをIE6に適応するため、DD_delatedPNGというjavascriptを使おうと思ってコーディングしたのですが、うまく透過されません。 コードは <!--[if lte IE 6]> <script type="text/javascript" src="js/DD_belatedPNG_0.0.8a.js"></script> <script type="text/javascript"> DD_belatedPNG.fix('#header_box_r li'); </script> <![endif]--> と<head>の中に書きました。「#header_box_r li」というidに指定した背景画像にjavascriptを適用させIE6でも背景画像を透過させたいのです。 この他にも必要なコードがあるのでしょうか?IETesterで試すと、「DD_belatedが適用されていません。」とでます。コードを間違って記入しているのでしょうか? どなたか、教えてください。