Обман зрителя с псевдоклонированием фреймворка
1. Ставим скрипт библиотеки во фрейм,
2. ...якобы клонируем frame1.jQuery
3. Удаляем фрейм вместе со скриптом (можно наблюдать удаление - cпецом
Запускаем любые jQuery функции (тут считываю bоdy.html() ( Заметим что фрейма нет)
//Чисто коперфильд (Сам заю, что вру и где
//а хочется реально!
<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
<script>
function TestLibFrame() { //
function Clone(a) {
return a;
}
window.docThis = frame1.parent.document;
window.$$ = Clone(frame1.jQuery); //...якобы клонируем frame1.jQuery
delete frame1.jQuery;//alert(frame1.jQuery); //...удаляем объект frame1.jQuery
$$("iframe[name='frame1']",docThis).remove(); //Удаляем фрейм...
var str = 'Запускаем jQuery на странице без библиотеки:';
alert(str +'\n\n' + $$("html",docThis).html());
}
function Funk0(aa) {
var a='Cтавим javascript - библиотеку во фрейм'
var iframe = aa
var iframeDoc = iframe.contentWindow.document;
var b = iframeDoc.createElement('div');
b.innerHTML=a;//alert(b.innerHTML)
iframeDoc.body.appendChild(b);
var s = iframeDoc.createElement('script');
s.setAttribute("type","text/javascript");
s.src = "http://yandex.st/jquery/1.4.4/jquery.min.js";
//s.setAttribute("onload","parent.TestLibFrame()");
s.onload = function () {setTimeout("TestLibFrame()",4000);}
b.appendChild(s);
}
</script>
<iframe name=frame1 onload="Funk0(this)"></iframe>
</body>
</html>