web-dev-qa-db-ja.com

テキストウィジェットのスクリプトコードが表示されない

私はWordpress 3.7をセルフホストし、Twenty 13テーマを使用しています。サイドバーにテキストウィジェットを配置し、その内側にAmazonの簡単なコードを配置しました。

<SCRIPT charset="utf-8" type="text/javascript" src="http://ws-na.Amazon-adsystem.com/widgets/q?ServiceVersion=20070822&MarketPlace=US&ID=V20070822%2FUS%2Fguardiaintern-20%2F8002%2Feb678005-711d-488e-bdc6-f6dd775e0ed8"> </SCRIPT> 
<NOSCRIPT><A HREF="http://ws-na.Amazon-adsystem.com/widgets/q?ServiceVersion=20070822&MarketPlace=US&ID=V20070822%2FUS%2Fguardiaintern-20%2F8002%2Feb678005-711d-488e-bdc6-f6dd775e0ed8&Operation=NoScript">Amazon.com Widgets</A></NOSCRIPT>

ただし、サイトをロードしても表示されません。私は、任意のテキストやHTMLにも<SCRIPT>コードも含まれるとの印象を受けましたが、そうではないようです。誰が何が間違っているのか、またはこれを修正する方法を知っていますか?

追加のアップデート:上記のコードはFirefoxとIEに少し遅れて表示されますが、レンダリングは行われます。ただし、それはChrome上ではまったくレンダリングされません。それが少なくともブラウザ固有のものであると思われる/表面に現れる/という考えはありますか?その行動の違いの原因は何でしょうか。

デバッグ結果:確かにコードを壊す原因となっているWordpressのバグです。 @toscho 推奨プラグイン Magic Widgets を使用することで問題が解決し、コードが問題なく表示されるようになりました。私はWP開発者 Ryan および Andrew と連絡を取り、同じ性質の将来の問題を避けるために次のリリースでバグを解決する。

1
GµårÐïåñ

[概要]

理論的には、テキストウィジェットが提供するコアを使用すると、任意のHTMLコードを実行できるはずですが、最近、上記の問題に遭遇しました。コードがWordpressによってラップされ、 Chromeで適切にレンダリングします。 FirefoxとInternet Explorerでもコードは正常に表示されますが、問題はChromeに十分に影響し、正しく表示されません(空白が表示されるか、出力レンダリングが表示されません)。

[解決策]

コアコードを確認し、Wordpressがプッシュする「最終」コードを評価した後、コードによって生成された要素がChromeレンダリングのメカニズム。最終コードから問題を引き起こした追加されたラッピングを削除すると、正しく表示されました。このプロセスは、@ toschoと呼ばれる Magic Widgets が提供するフィルター処理されていないテキストウィジェットに貼り付けられたコードを純粋な形式で処理し、Wordpressによる処理やラッピングなしで処理します。

[結論]

私の結論と推奨事項は、Wordpress開発者にコードと相互作用しない優れたテキストウィジェットを提供できるようになるまでは、上記のプラグインを使用して生のコード、特に<SCRIPT>コード、またはシステムからJavaScriptコードをプルするもの(上記の質問の例のように)Wordpressによる処理とレンダリングの方法への干渉を避けるため_-ページを手動で編集し、表示するファイルにコードを直接配置する手間がかかりません。

1
GµårÐïåñ