2017-01-26 3 views
0

Chromeは、要素の変更を破棄するまでにfirebugと同じ機能を備えています。しかし、Chromeは3種類の変更を壊すだけで、Firebugは新しいバージョンのFirefoxでは動作しなくなり、置き換えるツールは要素の変更を破ることができません。ロード時にどのようなjavascriptが上書きされているのかを確認する

私は3つのブレークイベントをすべてクロムで行い、どれもデバッガに入りませんでした。

<select id="someid"> 
    <option value="">Choose</option> 
    <option value="12"> Some Text with bad formatting and <span>in it for some reason</span> 
    <option value="13"> Other text &nbsp; with <span>etc</span> in it</option> 
</select> 

私が見つけたのは、読み込まれた一部のJSがロード後に有効なhtmlで有効なhtmlをすべて置き換えるということです。なぜmagento2はこれをしますか?知りません。しかし、それは私にとって苦痛になり、スパンには製品のidsやそれ以上のものがあるので、コア機能に結びつく可能性が高い。

私はオプションにテキストを追加しますが、この他の置換手順では削除されます。新しいオプションのテキストがある場合は、1000msごとにチェックするためにsetTimeoutを書いて、変更を加えました。しかし、それは良い解決策ではありません。その理由は、それが周囲の理由のために壊れやすく、それ以外にも遅くなるということです。

私の質問は、この巨大な巨大なプログラムで、私は決して書いたことがないので、任意のjavascriptが読み込み時にオプションテキストをどのように変更しているかを簡単に見つけることができますか?クロムは読み込み中も持続しませんし、たとえ私がクイック・フィンガー・マジゲとそれを起動しても読み込みを中断するためにf8を押しても、要素を見つけてから変更を破るように設定しても、

私はMutation Observersを試しましたが、突然他の人の質問に別のスタックオーバーフローの答えがあることを突き止めました。今はwatch()を見ていますが、私の問題を解決するかどうかは疑問です。

要素の変更を破棄していないか、JSのテキストがJSのデフォルトの使いやすい機能であるのはなぜですか?これは、開発中に数千から数千行のコードの塊が実際に発生しているあなたが望んでいない動作、または実行後に他のjavascriptを実行したい場合。

答えて

0

私がコメントするの評判を持っていない、しかし、あなたが言ったことに基づいて:私は何を発見したことは起こる

が負荷にいくつかのJSをロードした後、有効なHTMLですべての悪いオプションのテキストを置換することです。なぜmagento2はこれをしますか?

マゼンタに生の入力を表示する機能がないと思っていましたか?多分それはあなたの問題の根源です...

https://magento.stackexchange.com/questions/569/how-to-escape-output-data

関連する問題