Предупреждение, неприятный взлом входящих!
Вы определенно не можете отличить запросы от Flash против Javascript, так как они фактически используют одни и те же API платформы Mozilla.
Тем не менее, ничто не мешает вам сделать без вспышки запрос выглядеть по-разному при рассмотрении в http-on-modify-request
реализации - вам нужно сделать что-то, чтобы сделать все эти без вспышки requets выглядят по-разному.
Самый простой способ, который я могу придумать, - добавить (а затем удалить внутри вашего обработчика http-on-modify-request
) параметр QueryString.
Так что просто добавьте что-то вроде ?___NONFLASH__=897123487
или &___NONFLASH__=897123487
в каждый запрос URI. (где вы произвольно генерируете токен 897123487
при инициализации, так что JavaScript/Flash не может быть предсказан, чтобы «убежать» из этой «песочницы»).
Вы должны были бы повлиять на следующем браузере content.contentDocument
:
- ссылки - изменить их
href
атрибуты
- формы - изменить их
action
атрибуты
window.XMLHttpRequest
- заменить это с версией вашего собственного изготовления (сделать что вы замените его перед запуском любой клиент-скрипт!)
это просто оставляет клиента скрипт инициированное window
-LEVEL на (например: window.location.href
изменений). Вы можете использовать либо NSIObserver
, либо NSIProgressListener
, чтобы следить за изменением/повторной загрузкой URL.
редактировать: все это предполагает, что содержание вспышка не используется флэш-< -> JavaScript мост и делать все запросы на стороне JavaScript (маловероятно - но возможно!).