Представьте себе, я следующий HTML со многими предметами:расслоения плотного крючок на процессе загрузки HTML в браузере
<html><body>
<img src=http://host.com/pic1.jpg>
<img src=http://host.com/pic1.jpg>
<img src=http://host.com/pic1.jpg>
</html></body>
владелец сайта добавляет скрипт на страницу без других модификаций:
<script>
var some_super_function = ... // what can i put here?
some_super_function('host.com','ghost.com');
</script>
и во время загрузка этого html, host.com заменяется на hgost.com, поэтому изображения загружаются с другого сервера, как будто были выполнены следующие адреса:
<html><body>
<img src=http://ghost.com/pic1.jpg>
<img src=http://ghost.com/pic1.jpg>
<img src=http://ghost.com/pic1.jpg>
</html></body>
Я думаю, что выбор $('img')
и настройка .attr()
- это не очень хорошая идея, потому что это может работать только после загрузки страницы, и я не хочу, чтобы браузер ссылался на host.com вообще.
Я думаю, угловатый JS делает что-то подобное, не так ли?
Возможно ли это?
Спасибо.
Вы можете манипулировать элементами img только после их существования, а это значит, что браузер уже начал загрузку URL-адреса в атрибуте src. Если вы хотите надежно предотвратить это - тогда не ставьте это значение в атрибут 'src' для начала. (Сделайте это 'data-src' или что-то в этом роде - тогда ваш скрипт может передать это значение в атрибут' src'.) – CBroe
должен использовать 'ng-src' в угловом режиме, чтобы избежать неправильных запросов. – charlietfl
Вы можете использовать URL-адрес углового перехватчик для программного изменения маршрута на основе ваших определенных критериев https://docs.angularjs.org/api/ng/service/$http (ctrl + f для 'перехватчика') –