0

style1.cssの下にリンクする CSS ファイル ( ) を作成しました<head>。次の生成された HTML はテンプレートを使用して作成されているため、基本的にスタイルシートが<noscript>タグ内にネストされている理由がわかりません (誰かがそれを説明してくれれば、それがありがたいです)。

<head>      
    <noscript>
        <link rel="stylesheet" href="css/style1.css" />
    </noscript>
</head>

数日間私を悩ませてきたいくつかの問題を次に示します。

  1. スタイルシートを編集すると、コードを実行しても変更が反映されません。
  2. このリンクをコメントアウトすると、どういうわけか私の Web サイトが同じ CSS ファイルを参照しています。これがどこから参照されているのかわかりません。これは私が CSS をリンクした唯一の場所ですが、私が把握できない場所から継承しているようです。
  3. なしでこれを試しまし<noscript>た。その場合、コードを実行すると変更が反映されますが、さらに編集すると変更が反映されません。クレイジーなことは、<noscript>もう一度下に含めると、編集が反映されますが、最初の試行で行った変更が失われることです。

<noscript>私はこの奇妙な動作を理解できませんが、これはHTMLのタグと関係があると思われます。JavaScript を使用して Web サイトでアニメーションを実行していますが、テスト中にブラウザーで JavaScript が有効になっていました。

4

2 に答える 2

1

<noscript>このようにタグを使用することは避けます。それについての議論がありました。この記事を見てください。

より良い解決策は、特徴検出です。

style1.css で、etc のようなクラス名をサフィックスとして付けたルールを定義します.nojsbody.no-js h1.no-js

次に、JavaScript/jQuery を介して DOM 要素からそのクラスを削除します。

$('.no-js').removeClass('no-js');

このように、JavaScript が存在しない場合、上記のコードは実行に失敗しますが、ユーザーで定義されたルールstyle1.cssが有効になります。

さらに良いことに、フル機能のライブラリであるModernizrを使用してください。これは、私のすべての Web サイトに必須です。

于 2013-09-27T14:57:51.293 に答える
0

タグを取り除いてください。noscriptこれは、javascript が有効になっていない場合にコードを実行するためだけのものです ( https://developer.mozilla.org/en-US/docs/Web/HTML/Element/noscript )。

変更が反映されていない場合、ブラウザはおそらく CSS ファイルをキャッシュしています。これを回避するには、ほとんどの場合、コントロール キーと F5 キーを同時に押す (CTRL+F5) ことで実行できる強制更新を使用できます。 Windows 上のブラウザ。

テンプレートには、読み込まれる独自の CSS ファイルも含まれている可能性があります。ブラウザの開発ツールを使用して、どのリソースがページに読み込まれているかを確認してください。

于 2013-09-27T14:53:00.113 に答える