Внедрение кода JavaScript без тега <script> - PullRequest
2 голосов
/ 23 апреля 2011

Клиентский скрипт извлекает некоторый HTML-код с сервера во всплывающее окно на странице (shadowbox и т. П.).

Я подозреваю, что это выполняется где-то через jQuery .html().

Короче говоря, следующие ошибки:

<script type="text/javascript"> myFunc(); </script>

К сожалению, я не могу изменить код на стороне клиента (поэтому я не могу передать и выполнить код JavaScript через альтернативный канал).

Один из способов получить эту работу - вернуть в качестве части HTML следующее:

<img src="." onerror=" myFunc(); "/>

Оглядываясь назад, я мог бы использовать действительный URL-адрес изображения onload, но если оба события работаютЯ бы предпочел использовать неверный путь, чтобы браузер немедленно вызывал вызов (и на один раз меньше просмотр HTTP / кэша).

Что касается настройки, я бы хотел услышать ваше мнение об этоми, возможно, лучшее решение.

Редактировать:

Давайте предположим, что это код клиента, с которым я не могу связываться:

jQuery.get('test.php',function(data){
    jQuery('#popup').html(data);
});

Это данные, возвращаемые test.php:

Hello!
<script type=text/javascript> myFunc(); </script>

.у предложенного решения:

Hello!
<img src="." onerror=" myFunc(); "/>

1 Ответ

0 голосов
/ 23 апреля 2011

Вы можете использовать onload на <body>.

<body onload="myFunc();">
...