У меня есть функция JavaScript «print_something», которая реализована примерно в 300 страницах справки jsp. Я выяснил, что эта функция «print_something» должна быть исправлена. Итак, я ищу решение не менять 300 файлов.Javascript CallBack
У меня есть одна страница, на которой я открыть пользовательскую страницу справки:
window.open('SomeHelpPage101.htm', 'Help', 'location=no,status=no,height=500,width=600,resizable,scrollbars');
I судимое переопределить функцию следующим образом:
var jsObject = window.open('SomeHelpPage101.htm', 'Help', 'location=no,status=no,height=500,width=600,resizable,scrollbars');
jsObject.print_something() = function(){//corrected function}
Это все хорошо работает в Firebug, если я делаю шаг за шагом. Но если я запустил код, то произойдет, что window.open (...) еще не закончен, потому что он асинхронный, поэтому мое переопределение не работает.
Как я могу заставить window.open (...) закончить сначала, а потом переопределить print_something() было бы успешно.
спасибо, что заранее.
'jsObject.print_something() =' похоже, не прав. [Согласно MDN] (https://developer.mozilla.org/en/DOM/window.open), 'window.open' всегда будет * возвращать ссылку на новое окно, если все будет работать хорошо. –
Вместо того, чтобы помещать одну и ту же функцию js в 300 файлов, вы должны переместить ее в автономный файл '.js', а затем просто включить этот файл на 300 страниц. –
Я не знаю, можете ли вы это сделать, но если это возможно, это будет 'jsObject.print_something = function() {}'. У 'jsObject.print_something()' у вас есть вызов метода. – JMM