办公室里有一个运行天气图的屏幕。地图在iframe中运行,并设置为每小时刷新一次。这是代码;
function yourfunction(){
$a=get_current_user_id();
update_user_meta( $a, 'field', 'test');
}
add_action('init', 'yourfunction');
在位于iframe的VentuSky地图上,如果用户按下键盘上的“p”,它会隐藏所有菜单,只显示地图(或“演示模式”,如VentuSky所说)。
有什么办法可以让浏览器在每小时刷新一次时自动执行此操作?
答案 0 :(得分:0)
直接从此代码执行此操作是不可能的,因为出于安全原因,浏览器会禁止从其他域访问iframe
。但是你可以使用像Grease Monkey这样的浏览器插件来实现FireFox。
FireFox和Grease Monkey的解决方案:
New User Script
(2)
将以下代码粘贴到将打开的窗口中:
// ==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回答。