2012-07-20 3 views
0

bodySemex라는 div에 페이지의 <body> 태그 안의 모든 내용을 래핑하려고합니다. 대부분의 페이지에서 제대로 작동합니다.일부 페이지에서 wrapAll()에 이상한 동작이 있습니다.

그러나 일부 페이지에서는 body 요소가 모두 사라집니다. 예를 들어, avc.com 및 http://www.theatlantic.com/technology/archive/12/07/how-the-gorgeous-sometimes-fictional-sound-of-the-olympics-gets-made/259742/이이 코드 줄의 결과로 모두 사라집니다.

이 때마다 오류 메시지가 표시되며 jQuery의 each() 함수가 . 정의되지 않은

Uncaught ReferenceError: _gat is not defined 
(anonymous function) 
e.extend.globalEval chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2 
e.extend.globalEval chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2 
bp chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2 
e.extend.each chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2 
f.fn.extend.domManip chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:4 
f.fn.extend.prepend chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:3 
f.each.f.fn.(anonymous function) chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:4 
(anonymous function) chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/distillery.js:365 
e.extend.each chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2 
e.fn.e.each chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2 
bodySwap (Note, this is the name of the line of code the this question is about) 

내가 유사한 문제에 대한 SO 검색 및 wrapAll 몇 가지 대안을 시도 (예를 들어, 대안이 여기에 설명 : Jquery wrapAllInner() ? -- Or wrapAll() applied interally?를)

감사를 당신이 제공 할 수있는 모든 도움을

!3210

답변

0

나를 위해 적합한 해결책을 찾았습니다. .each() 함수가 <script> 요소에서 작동하여 정의되지 않은 특성을 찾습니다. 그래서 지금

, 내가 thusly 히, wrapAll()를 호출하기 전에 모든 script 요소를 제거 :

$('script').detach(); 
$('body').children().wrapAll('<div id="bodySemex" />'); 
관련 문제