#javascript
Вопрос:
У меня есть такой сценарий, как
<script type="text/javascript">
function handleAction() {
var win = window.open('https://example.com', "_blank");
var script = document.createElement('script');
script.src = 'http://myassets.com/example.js';
win.document.head.appendChild(script);
}
window.onload = handleAction
</script>
Здесь я приложил «example.js» скрипт во вновь открывшееся окно. Скрипт содержит один простой вызов API журнала.
Но когда моя страница загружается «example.js» удален из dom, и он не может выполнить вызов API. Когда страница загружается, если содержит dom страницы, и удалите «example.js»
Есть ли какой-либо способ, которым я могу выполнить вызов API из прикрепленного сценария ??
Ответ №1:
Если я правильно понимаю ваш вопрос, вы хотели бы открыть новое окно и загрузить скрипт в это открытое окно?
Ваш текущий код просто не будет работать, так как у него нет доступа к DOM открытого окна, только к текущему DOM, из которого он вызывается.
Единственный способ, которым это сработает, — это если у вас есть контроль над кодом сайта, который вы хотите открыть, и поместить onload
туда событие, и если вы хотите, чтобы оно выполнялось при определенных условиях, рассмотрите возможность использования параметра запроса.
В противном случае вы не сможете программно внедрить свой собственный JavaScript и выполнить вызов API на веб-сайте, который вам не принадлежит (это неэтично).
Комментарии:
1. Я могу выполнить код javascript.. его просто вызов api требует времени, и до того, как будет загружен исходный dom и мой скрипт будет удален