これは私を夢中にさせるものでした。私はテストに JQuery 1.9 を使用していました... Script タグを含むいくつかの HTML コードを渡しました...そして、スクリプト要素の要素を検索し、それらを見つけました。何かのようなもの:
var myHtml = '<div>...</div><script href="..."></script>';
var myElem = $('<div/>').html(myHtml);
var scripts = myElem.find('script');
//scripts.length == 1
しかし、本番環境では、古いバージョン (JQuery 1.7) があり、scripts.length
.0 でした...そしてデバッガーは、スクリプトがヘッダーに追加されたことを示していますか???
- JsFiddle の例 (JQuery 1.9.1) 1 つのスクリプトが見つかりました (スクリプトは div に挿入されます)
- JsFiddle の例 (JQuery 1.7.2) 0 個のスクリプトが見つかりました (スクリプトはヘッダーに挿入されます)
したがって、可能な解決策(非常に醜い)は、このコード実行の前後のヘッダーのスクリプトを検出することです...または100%DOMを使用します
JQueryの以前のバージョン(1.7など)を使用してhtmlコードのスクリプト要素を見つける方法で、他のソリューションがはるかにきれいな場合は???
アップデート
可能な解決策を見つけました: JsFiddle Example (JQuery 1.7.2 + DOM) 1 Script Found (スクリプトは div に挿入されます)