簡體   English   中英

如何在新打開的窗口中運行 Javascript?

[英]How to run Javascript in newly opened window?

假設我有以下代碼。

window.open(url, windowName, "height=500,width=500") 
// This will open a new window with the url.

myFunction();
// Run this function on the newly opened window instead of
// the old one because I need to find a link on the new page.

現在, myFunction() 卡在舊窗口上。

更新:新的 url 是另一個域。

myFunction()放在新窗口的腳本中。

然后設置該窗口的onLoad事件以運行它。

您可以通過以下方式從新窗口中獲取對調用方窗口文檔的引用:

window.opener.document

你有足夠的鏈接來做幾乎任何事情。

更新:

您的新窗口應該來自同一個域。 否則它違反瀏覽器的同源策略

請看這個問題:

規避同源策略的方法

您有多種選擇:

  1. 編輯存儲在url的網頁的源代碼,以包含您希望在網頁打開時運行的自定義代碼。 如果您只想在網頁從彈出窗口打開時運行此代碼,您可以將 url 命名為“webpage.html?run_custom_code”,然后在 webpage.html 中使用僅在window.location.href.indexOf('run_custom_code') > 0

  2. 你可以打開一個網頁,它的唯一目的是運行 javascript: window.open('javascript:alert()'); 盡管根據您的編輯,這對您來說似乎沒有用。

  3. 使用另一種語言,例如 PHP,您可以在其中使用$html = file_get_contents($url);類的內容獲取另一個網頁的內容$html = file_get_contents($url);

  4. 對另一個 url 執行ajax 請求(如果它位於同一個域中)並抓取結果以找到您的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM