Показать сообщение отдельно
  #23 (permalink)  
Старый 29.01.2012, 03:21
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

<body>
<script>
(function(name) {
	var el = document.createElement("iframe");
	document.body.appendChild(el);
	window[name] = function(arg, bod) {
		with (window.parent) {
			return window.frames[0].Function(arg, bod)
		}
	}
	window[name].prototype = window.frames[0].Function.prototype
})('FunctionX')

FunctionX.prototype.qq = function() {
	alert('НЯЯЯ)!!!11')
}

var q = FunctionX('', 'alert("fff")')
var w = Function('', 'alert("fff")')
q()
q.qq()
w()
w.qq()
</script>
</body>


решил проблему с замыканием в области фрейма.

п.с. на сайте метод qq не запускается из-за вложенного фрейма.
к сожалению iFrame удалять нельзя потому что у созданых функций ссылка в __прото__ лежит на прототип в конструкторе айфреймовском.

Последний раз редактировалось Livaanderiamarum, 29.01.2012 в 03:35.
Ответить с цитированием