問題タブ [noscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - noscript要素にアセットをロードする
標準的な動作では、要素にアセットが読み込まれないことを期待しています<noscript>
。FFとChromeでの簡単な大まかなテストにより、これが当てはまることが証明されています。ただし、<noscript>
スクリプトが有効になっているときに要素内のアセット(画像など)が読み込まれる状況はありますか?
css - トップレベルのcssからのcssのインポートがブロックされます
Webページ内に、次のスニペットがあります。
参照されるページstandard.css
は次のようになります。
Firfefox ESR 10.0.4内のnoscriptプラグイン(バージョン2.4.3)をアップグレードした後、cssページが読み込まれなくstandard2.css
なります。standard3.css
以前のバージョンのnoscriptでは、すべてが期待どおりに機能しました。
noscriptがこれをブロックしているのはなぜですか?別のCSS内からCSSをインポートする際の既知のセキュリティ問題はありますか?それとも単にnoscriptのバグですか?
更新:問題はカスケードインポートではありません。問題は、短いURL(https://hostname/...
)を使用したことです。完全修飾URL(https://hostname.mynet.com/...
)を使用すると、すべてが機能します。
したがって、それは実際にはnoscript2.4.3のバグのように見えます。
css - JavaScriptの警告を修正-CSSの位置を使用してページの上部に固定
私はnoscript
コードのチャンクに取り組んで<p>
おり、ページの上部にJavaScriptが無効になっていることをユーザーに警告するを含むいくつかの作業を行っています。
JavaScriptが無効になっている場合、最終結果はStack Exchangeサイトのようになります(これが私のスクリーンショットです。SEはページの最上部にあることを除いて同様に見えます)。
私はそれを問題なく動作させていますが、スクロールしたときに赤いバーが上部に沿って固定されたままであれば、それが大好きです。
position: fixed;
このメソッドを使用してみましたが、p
要素が移動してしまい、変更を加えない場合とまったく同じように表示することができませんposition: fixed;
。top
CSSやその他のポジショニングをいじってみleft
ましたが、思ったようには見えません。
CSSスニペットは次のとおりです。
javascript - javascriptが有効な場合にのみ外部スタイルシートをリンクする方法
JavaScript が有効か無効かによってスタイルを変えたいページがあります。
コード:
私の問題は、 noscript.css がすべてではなく一部の属性のみを上書きすることです。したがって、main.css にはより多くのスタイルが含まれているため、それも適用されます。上書きされたスタイルのみが見栄えがします。main.css へのリンクを削除すると、ページは希望どおりに表示されます。
以前のスタイルをすべてデフォルトに「リセット」する方法、または noscript で main.css へのリンクを無効にする方法はありますか?
ありがとうございました!
javascript - JavaScriptが有効になっていない場合は、オーバーレイ付きの画面をフリーズします
ページを暗くしてロックし(クリック/スクロールを防止)、ユーザーがJavaScriptを有効にしていないことを示す白いテキストを表示したいと思います。
JavaScriptがない場合は、すべてを正常に劣化させることが適切な方法であることを私は知っていますが、今はこのルートに行きたくありません。
javascript - javascript が無効になっていることをサイトが即座に検出するにはどうすればよいですか?
通常、ページが読み込まれ、ブラウザで Javascript が無効になっている場合、<noscript>
タグを使用して警告のようなものを記述し、クライアントに Javascript を有効にするように伝えます。ただし、Facebook では、 JS を有効にしてページを読み込んだ後でも、無効にした瞬間に通知が届きます。どうすればこのようなことができますか?
更新 : このメカニズムは Facebook では利用できなくなりましたが、以前はこの質問をするのが遅すぎましたが、答えが見つかった場合は本当に感謝しています.
私が試したこと
ページ内に Javascript が無効になっているかどうかをチェックし続けるセグメントを持つことを考えました<noscript>
。
これを実現するために、ページCheckJS.htmlを作成しました。
このページは更新を続けます。JSが無効になっている場合、JS は無効です。現れる。
このページを元のページ内に追加するには。私は次のことを試しました:
1- .load()
JQueryを使用し.load('CheckJS.html')
てdiv
. ただし、CheckJS.htmlの.load()
内容しか読み込まないようです。要素とその内部にあるものは、 内にロードされないことを意味します。<body>
<head>
div
2-iframe
いくつかの検索の後、完全なhtml ページを<head>
ロードする唯一の可能な方法は、<iframe>
.
ただし、CheckJS.htmlの が親ページに影響し、元のページ自体が更新され始めました<meta http-equiv="refresh" content="0">
。
元のページを強制的に更新せずにこれを使用できれば、これは解決策になる可能性がありますが、この解決策が見つかったとしても、本当の解決策というよりはトリック<iframe>
のように感じます。
アップデート
Antonyの答えは、元のページを更新することについて私が間違っていたことを証明しましiframe
た。ブラウザは更新されていることを示していますが、実際にはそうではありませんCheckJS.html
。 、<noscript>
JS が再度有効になると非表示になります。それでも、この iframe アプローチ全体は、10 秒ごとに更新が行われない限り (ブラウザーがフリーズする可能性があります)、それほどユーザー フレンドリーではありません。これは即時検出ではありません。
localization - ノースクリプト(iframe)reCAPTCHAをローカライズする方法は?
通常の(JavaScript)reCAPTCHAをローカライズするために、ドキュメントで指定されているようにRecaptcha.createメソッドにlang属性を提供できることを知っています。このようなクエリ文字列でlangを渡すことで、noscriptバージョンでも同じことを試みましたが、http://www.google.com/recaptcha/api/noscript?k=<key>&lang=ru
それでも英語版。
iframeバージョンをローカライズする方法を知っている人はいますか?
javascript - 代用する方法
I have a question about retrofitting the following code to gracefully handle noscript scenario.
#xA;I'd like to subsitute the line above in case of noscript with:
#xA;Thanks in advace.
javascript - Google-Analytics JS(または他のサードパーティJS)の名前を変更しても、引き続き機能しますか?
実際にはこれを行おうとはしていません。さらに、最終的にはサードパーティのJSスクリプトの構造を理解しようとしています。GA JSの名前を変更して、NoScriptまたは同様の拡張機能を使用している場合に、名前をドメインに類似した名前に変更して、Googleスクリプトで管理できないようにすることはできますか?
もしそうなら、なぜ人々はこれをして、ドメインによって名前を変更しないのですか?
そうでない場合は、必要な情報をサードパーティのJSに渡すスクリプトを作成する方法です。これにより、ページ上で独自のJSスクリプトを実現し、エクスペリエンスを最終的に制御できます(ユーザーがすべてのスクリプトを割り当てます)。ページに関連付けられている、または関連付けられていない)、最終的には別の抽象化レイヤーを提供しますか?
javascript - JavaScript 検出を MVC4 表示モードと統合する最良の方法は何ですか?
私は既存の MVC プロジェクトに取り組んでおり、現在、表示モード機能の使用を検討しています。最終的なアプリケーションが 3 種類のビューを返すことができるようになることを願っています。
- モバイル -携帯電話、IE6/7、
- 非 JavaScript ブラウザー -タブレット
- タブレット ブラウザ デスクトップ -デスクトップ ブラウザ
JavaScript の検出を除いて、すべてが十分に単純です。
現在、正常に低下するのはデスクトップ アプリケーションです。これは素晴らしいことですが、JavaScript を使用していないユーザーをサポートするには多くの時間がかかります (対象ユーザーのわずか 2% であり、そのほとんどはおそらくボットです)。したがって、JavaScript を使用しないユーザーには、サポートの手間がかからない基本的なモバイル バージョンのサイトを提供したいと考えています。
クライアント側で何かをレンダリングしてからリダイレクトする必要があることを理解しています。しかし、これを行う最善の方法は何ですか? <noscript>
モバイルにデフォルト設定して JavaScript でリダイレクトするか、それともタグで何かを行うか?
助けてくれてありがとう