Загрузите файл javascript на keyup

Я знаю, что могу вызвать функцию javascript при нажатии клавиши в поле ввода. но есть ли способ обновить файл javascript при нажатии клавиши в моем поле ввода?

Я скачал prettify. Я создаю страницу точно так же, как страница с вопросами в stackoverflow. Как мы знаем, текст в окне предварительного просмотра обновляется всякий раз, когда мы что-то печатаем. Я мог бы воспроизвести это с помощью jquery и ajax. Но в частях кода prettify не работает. Однако, когда у меня есть код при загрузке страницы, он работает.

Я полагаю, что перезагрузка файла prettify js каждый раз, когда я что-то ввожу, заставит его работать. Пожалуйста, помогите


person user1763032    schedule 16.07.2014    source источник
comment
Вы не должны перезагружать свои скрипты. Вы должны удалить теги, которые украшают ваш текст, а затем повторно запустить функцию, которая украшает ваш текст. Этот пост может помочь: stackoverflow.com/questions/16014494/   -  person Juan Carlos Farah    schedule 16.07.2014
comment
перезагрузка файла javascript каждый раз, когда вы что-то вводите, полностью снижает производительность на стороне клиента. И даже автоматическая предварительная обработка вашего ввода каждый раз, когда вы что-то вводите, была бы серьезной ловушкой для производительности. Для справки, пользователь, печатающий со скоростью 300 ударов в минуту, будет иметь 5 вызовов javascript в секунду, что очень быстро становится тяжелым. Если вы хотите предоставить prettifier, добавьте на свою страницу кнопку, которую пользователь может использовать сам, когда ему это нужно.   -  person Nzall    schedule 16.07.2014


Ответы (2)


Вы не должны пытаться приблизиться к этому, перезагружая какие-либо скрипты. Это действительно глупая идея, это полная противоположность тому, что вы должны делать.

Посмотрите, есть ли в prettify.js какой-то метод, который вы можете вызывать, когда хотите повторно преобразить части кода.

person Piwwoli    schedule 16.07.2014
comment
Спасибо.. Попробую то, что вы сказали.. - person user1763032; 16.07.2014

Я не совсем уверен, что понимаю ваш вопрос - неясно, действительно ли файл, который вы хотите перезагрузить, меняет содержимое?

У меня был опыт перезагрузки файла, который кэшировался браузером. чтобы избежать кеша браузера, просто добавьте параметр к вашему URL

то есть: если вы хотите перезагрузить http://www.example.com/myjs.js, тогда вызовите http://www.example.com/myjs.js?id=1234 (где 1234 — это метка времени или счетчик, в основном что-то другое при каждом вызове)

хотя это не красиво, это работает.

person JoSSte    schedule 16.07.2014