簡體   English   中英

如何在主選項卡的新選項卡上運行功能? (谷歌瀏覽器)

[英]How to run function on new tab from main tab? (Google Chrome)

我需要打開控制台並在新選項卡上運行一個功能,該功能是使用javascrip打開的。 開頭部分很容易,但是如何在其他選項卡上運行功能呢?

 var google = window.open("http://google.com") 

讀完您的問題后,您似乎想為彈出窗口打開開發者控制台? 假設這是您要查找的內容,則只需右鍵單擊彈出的窗口並單擊“檢查元素”即可。 然后從那里轉到控制台。


如果您試圖以編程方式將父級函數運行到彈出窗口中,那么這里就有個好主意。

假設新窗口與您位於同一域中,則此解決方案可能對您有效。 (瀏覽器支持有限)

在父頁面上:

//check if the function has been stored
if(typeof localStorage.runThis === "function"){
    //run the function in localStorage
    localStorage.runThis();
}

在彈出窗口中打開:

 //check if the function has been stored if(typeof localStorage.runThis === "function"){ //run the function in localStorage localStorage.runThis(); } 

一個問題是該方法依賴於滿足以下條件:

  • 瀏覽器支持localStorage
  • 父頁面和彈出頁面來自同一來源
  • 彈出頁面實際上必須查找有問題的函數並執行函數本身

這樣的一個缺點是,如果有人去Javascript Console並將自己的功能設置到localStorage中,則彈出頁面將看到其功能並運行潛在危險的代碼-一個安全漏洞。

常見的解決方案是使用localstorage

if (typeof(Storage) !== "undefined") {
  // Code for localStorage/sessionStorage.
  localStorage.setItem("lastname", "Smith");
  var lastname = localStorage.getItem("lastname");
} else {
    // Sorry! No Web Storage support..
}

暫無
暫無

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

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