1. 程式人生 > >利用noVNC通過iframe在頁面上開啟虛擬機器時鍵盤聚焦問題

利用noVNC通過iframe在頁面上開啟虛擬機器時鍵盤聚焦問題

          利用noVNC在頁面上直接開啟url連線虛擬機器時,鍵盤事件可以被捕捉到(圖1),但是當把url放到iframe中時(我是將網頁虛擬機器介面直接放到layer中,本質上是iframe),鍵盤事件不能被捕獲,必須先點選最頂端的標題欄或者螢幕旁邊的部分才能被捕獲(圖2)。查閱了資料後,發現noVNC在通過iframe顯示時確實存在鍵盤聚焦問題。

                                                                                                                                 

                                                                                                                                             圖1

                                                                                                                                     

                                                                           

    圖2

  查閱了很多方法後,找到了解決方案。目前只針對Chrome和FireFox,IE的問題是個別按鍵比如回車和刪除不能使用,但目前尚無解決方案。 

針對chrome:需要在vnc_auto.html中的新增 tabindex=0;如圖


chrome到此就可以解決了。

Firefox需要先聚焦到vnc所在iframe的上一層, $('#layui-layer-iframe1').focus() 。

在layer回撥函式中這樣寫:

 success: function(layero,index){
 var id_layer_min = layero.attr("id");
 var ids =id_layer_min.split("r");
 idtabindex= "#layui-layer"+"-iframe"+ids[1];
 var ifr = document.querySelector(idtabindex);
   ifr.contentWindow.postMessage({a: idtabindex}, '*');
   setTimeout(function (){
   $(idtabindex).focus();
   },500);
 },

相關推薦

利用noVNC通過iframe頁面開啟虛擬機器鍵盤聚焦問題

          利用noVNC在頁面上直接開啟url連線虛擬機器時,鍵盤事件可以被捕捉到(圖1),但是當把url放到iframe中時(我是將網頁虛擬機器介面直接放到layer中,本質上是iframe),鍵盤事件不能被捕獲,必須先點選最頂端的標題欄或者螢幕旁邊的部分才能被

關於vmware開啟虛擬機器出現internal error內部錯誤的解決方法記錄

之前vmvare安裝的資料夾名字為“虛擬機器”,今天覺得中文名字不好,改成英文的名字“vmvare”吧,結果改過之後,開啟vmware虛擬機器就出現internal error(內部錯誤)。 經過測試,我把檔名改回“虛擬機器”,(如果不能改名應該是佔用的問題,重啟電腦再改

開啟虛擬機器顯示不是有效的虛擬機器配置檔案是什麼原因啊

修復方法: 本方法僅適用.vmx檔案損壞而其他檔案完好無損的情況。 舉例說明:虛擬機器名為XP,虛擬機器目錄為E:\XP\,配置檔名即為XP.vmx(除目錄名為自己建立為,其餘檔名為VM虛擬機器自動建立) 1,刪除XP.vmx(注意不要刪除錯了,系統預設是不顯示副檔名的,顯示副檔名的方法自己百度一下吧) 2

在win10通過VMware安裝ubuntu16.04虛擬機器問題記錄

(想記錄一下安裝過程,下回安裝省時間,遇到的問題記得更清楚) 1.    安裝VMware:就按提示直接安裝就行。 3.    螢幕沒有自適應,需要安裝VMwareTools,但是重啟後發現,重啟後系統自動進入客人會話模式:          a) cd/usr/sha

在雲伺服器安裝虛擬機器,再通過xshell訪問到虛擬機器中的linux

這個題有點繞哈這是一次異想天開的行動,當時是需要安裝fastDfs圖片伺服器的,但是不想安裝,手裡又有圖片伺服器的虛擬機器壓縮包,於是在阿里雲買了一臺windows伺服器一個月試試水,如下這是在5月份,讀大二,大二下學期,也就是一個多月後就要去找實習了,嘿嘿,我的專案需要用到

開啟虛擬機器顯示“次虛擬環境中的長模式將被禁用”

近日,給一新機安裝VMware虛擬機器,在開啟虛擬機器的時候出現下圖的提示,無法正常開啟: 出現上圖的原因,主要是bios介面沒開啟對應的許可權,需要進入該模式下開啟,各電腦進入bios命令不一,有點F2,F1,F12   如下圖,將兩者的許可權都設定為enable狀態儲

關於開啟虛擬機器磁碟利用率100%問題

從vm10開始,預設每個虛擬機器執行時,自動在硬碟上生成一個記憶體實時映象檔案。這樣一旦虛擬機器開啟,這個檔案就不停寫入(虛擬機器記憶體的改變),配合win8/10的硬碟使用方式改變,效果無比呵呵。這簡直就是個腦殘設計,也許老外已經徹底淘汰了機械硬碟?解決方案:在C:/ProgramData/VMware/V

利用主機埠轉發實現對QEMU虛擬機器的訪問

作  者:郝慶豐 領 域:QEMU   適宜讀者:QEMU及虛擬化相關開發人員 背景知識:虛擬化基礎知識,QEMU基礎知識 正文: 利用主機埠轉發實現對QEMU虛擬機器的訪問 命令 選項:hostfwd 詳細描述:hostfwd=[t

通過kickstart實現全自動安裝虛擬機器

kickstart實現全自動安裝虛擬機器 概述: Kickstart是一種無人值守的安裝方式。它的工作原理是在安裝過程中記錄典型的需要人工干預填寫的各種引數,並生成一個名為ks.cfg的檔案。 如果在安裝過程中(不只侷限於生成Kickstart安裝檔案的機器)出現要填寫引數的情況,安

利用java自帶工具jconsole監控虛擬機器

  首先編輯tomcat/bin/catalina.sh 加入以下配置 (在 cygwin=false 上面加入) CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote  -Djava.rmi.server.

虛擬機器調整虛擬機器的視窗大小

相信使用虛擬機器下安裝linux系統的人都有這樣的感受,感覺Linux系統介面太小,無論是開啟瀏覽器還是終端,都感覺很壓抑,正所謂寸土寸金啊,那麼下文將給出介面調整大小的方法,但是本人只在VMware下ubuntu14.04可行,對於其他組合與版本,還不太清楚。 方法: 1)首先

開啟虛擬機器所報的錯誤:VMware Workstation cannot connect to the virtual machine. Make sure you have rights to run the program, access all directories the program

當我們開啟虛擬機器時出現錯誤: VMware Workstation cannot connect to the virtual machine. Make sure you have rights to run the program, access all directories the program

Ubuntu下vmware 開啟虛擬機器錯誤could not open /dev/vmmon:?????? please make sure that the kernel moduel vmmon is load

今天在ubuntu上發現打不開虛擬機器了,顯示could not open /dev/vmmon:?????? please make sure that the kernel moduel vmmon is load 然後在終端啟動如下圖所示     上網查閱發現原因是BIOS裡

VMware開啟虛擬機器沒反應

開啟VMware後,選擇開啟虛擬機器,然後就沒有反應了 這是防火牆的問題,解決方案有兩種: 1、關閉防火牆。 2、在“允許程式通過Windows防火牆通訊”中新增VMware。 解決的是點開

VMware無法開啟虛擬機器 獲得所有權失敗問題解決方案

問題詳情: VMware安裝的虛擬機器在未開啟狀態提示“該虛擬機器似乎正在執行”或“無法開啟虛擬機器 獲得所有權失敗”的問題,VM虛擬機器圖示顯示錯號圖示,無法正常開啟虛擬機器 問題原因: V

在瀏覽器開啟swf檔案變成了下載swf檔案解決方式

  <html> <head> <title>早日脫單</title> <style type="text/css"> embed { width:154

Win10如何新建並開啟虛擬機器

如何開啟虛擬機器? ● 步驟一:“Windows+X”,開啟“控制面板”; ● 步驟二:點選“程式”; ● 步驟三:點選“啟用或關閉Windows功能”; ● 步驟四:選中“Hyper-V”; ● 步驟五:點選“確定”,重啟電腦。 如何新建虛擬機器? ● 步驟一

VMware開啟虛擬機器沒反應的解決方案(全面彙總)

VMware開啟虛擬機器無反應的解決方案(全面彙總) 虛擬機器沒反應的解決辦法大概是如下幾點: 一.若是第一次安裝後打不開虛擬機器,大致是如下兩種解決方案: 1.大多數時候,虛擬機器打不開都是因為防火牆攔截所致. 解決方案:斷網,關閉防毒軟體(360,騰訊管家等

Windows10 安裝虛擬機器VMware Workstation 15 並安裝Ubuntu 16.04記錄

1、前記:由於MATLAB現在支援ROS介面了,之前做的模擬很想在ROS測試,於是準備安裝一個ROS。以下作為記錄    2、步驟:      1)、下載VMware Workstation 15虛擬機器並安裝。      2)、下載Ubuntu 16.04映象並安裝。

開啟虛擬機器出現這種情況:獲取 VirtualBox COM 物件失敗,應用程式將被中斷。

步驟如下: 1、WIN+R開啟命令列 2、在命令列中輸入:regedit,然後按下回車 3、找到這個檔案,找到HKEY_CLASSES_ROOT、再找{00020420-0000-0000-C000-000000000046},然後點選InprocServer3