2017-10-15 131 views
0

我們在運行天氣圖的辦公室中有一個屏幕。地圖在iframe中運行,並設置爲每小時刷新一次。這是代碼;iframe鍵盤按鈕按下頁面加載

<!DOCTYPE html> 
 
<head> 
 
<title>VentuSky Barco Display</title> 
 
<link rel="icon" type="image/png" href="favicon.ico"> 
 
<meta http-equiv="refresh" content="3600"> 
 
</head> 
 
<iframe src="https://www.ventusky.com/?p=53.2;-9.7;4&l=rain-1h" style="position:fixed;top:0px;left:0px;bottom:0px;right:0px;width:100%;height:100%;border:none;margin:0;padding:0;overflow:hidden;z-index:999999"></iframe>

在VentuSky映射在iframe坐鎮,如果用戶按下鍵盤上的「P」,它隱藏所有的菜單,只是顯示在地圖(或「演示模式」,正如VentuSky所稱的那樣)。

有沒有什麼辦法讓瀏覽器在每小時刷新一次時自動執行此操作?

+0

你試過我的解決方案嗎?它有用嗎? – Dmitry

回答

0

由於安全原因,瀏覽器禁止從另一個域訪問iframe,因此無法直接從此代碼執行此操作。但您可以使用FireFox的Grease Monkey等瀏覽器插件。

解決方案FireFox和油猴:

  1. 安裝Firefox和油猴
  2. 按字形的通用圖標(1)附近,選擇New User Script(2) enter image description here
  3. 名稱腳本「 ventusky」
  4. 輸入命名空間:https://www.ventusky.com/ enter image description here
  5. 將以下代碼粘貼到該窗口將打開:

    // ==UserScript== 
    // @name  ventusky 
    // @namespace https://www.ventusky.com/ 
    // @description trigger p key press in https://www.ventusky.com/ 
    // @version  1 
    // @grant  none 
    // ==/UserScript== 
    window.onload = function() 
    { 
        var keyboardEvent = document.createEvent("KeyboardEvent"); 
    
        keyboardEvent.initKeyEvent(
         "keydown", // event type : keydown, keyup, keypress 
         true, // bubbles 
         true, // cancelable 
         window, // viewArg: should be window 
         false, // ctrlKeyArg 
         false, // altKeyArg 
         false, // shiftKeyArg 
         false, // metaKeyArg 
         'P'.charCodeAt(0), // keyCodeArg : unsigned long the virtual key code, else 0 
         0 // charCodeArgs : unsigned long the Unicode character associated with the depressed key, else 0 
        ); 
        document.dispatchEvent(keyboardEvent); 
    }; 
    

注:它會要求你輸入「允許粘貼」當您嘗試粘貼代碼。

按鍵事件觸發代碼是基於this的答案。