Столкнулся с проблемой в Opera
- после загрузки файла в диалоговом окне редактора CKEditor
, если повторно загрузить файл, запрос для загрузки файла на сервер идёт не на заданный вами в настройках URL, а на два таких адреса. Как оказалось, виной тому использование события для тега body
— onbeforeunload
, которое срабатывает всякий раз, когда document закрывается или перегружает страницу. Сие событие не функционирует в Opera, а так как форма для загрузки файлов не меняется до тех пор, пока диалоговое окно не будет закрыто, URL в нём “складывается”.
Решение проблемы - использовать тег <base>
, при формировани ответа на серверной стороне. В нём можно указать такой относительный URL, который заставит все относительные ссылки на странице складывать не с реальным Location
документа, а с его Base модификацией. Но! не стоит забывать о том, что мир не стоит на месте, и когда-нибудь onbeforeunload
появится и в опере… а посему костыль, решающий эту проблему сейчас может насолить в будущем :)