[英]Is it possible to run an .exe or .bat file on 'onclick' in HTML
是否可以使用 html5 按鈕事件運行 bat/可執行文件? 如果我沒有錯的話,在 IE 中它可以使用 Shell 對象實現。
不,這將是一個巨大的安全漏洞。 想象一下如果有人能跑
format c:
每當您訪問他們的網站時。
這就是我所做的。 我想要在我們的網絡上設置 HTML 頁面,這樣我就不必導航到各種文件夾來安裝或升級我們的應用程序。 所以我所做的是在我們每個人都可以訪問的“共享”驅動器上設置一個 .bat 文件,在該 .bat 文件中我有以下代碼:
start /d "\\server\Software\" setup.exe
HTML代碼是:
<input type="button" value="Launch Installer" onclick="window.open('file:///S:Test/Test.bat')" />
(確保你的斜線是正確的,我用另一種方式,它沒有用)
我更喜歡直接啟動 EXE,但這是不可能的,但 .bat 文件允許我解決這個問題。 希望它適用於 FF 或 Chrome,但僅限於 IE。
當頁面本身通過file:///
路徑打開時是可能的。
<button onclick="window.open('file:///C:/Windows/notepad.exe')">
Launch notepad
</button>
然而,當你把它放在網絡服務器上時(即使你通過http://localhost/
訪問它),你會得到一個錯誤:
錯誤:拒絕從腳本訪問“file:///C:/Windows/notepad.exe”
您可以在帶有 OCX 組件的 Internet Explorer 和使用 chrome 擴展chrome 文檔的chrome 瀏覽器上執行此操作,在任何情況下都需要在客戶端系統上進行其他設置!
chrome擴展源的重要部分:
var port = chrome.runtime.connectNative("your.app.id");
port.onMessage.addListener(onNativeMessage);
port.onDisconnect.addListener(onDisconnected);
port.postMessage("send some data to STDIO");
權限文件:
{
"name": "your.app.id",
"description": "Name of your extension",
"path": "myapp.exe",
"type": "stdio",
"allowed_origins": [
"chrome-extension://IDOFYOUREXTENSION_lokldaeplkmh/"
]
}
和 Windows 注冊表設置:
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHosts\your.app.id
REG_EXPAND_SZ : c:\permissionsettings.json
您不能運行/執行位於用戶本地計算機或通過站點的 .exe 文件。 用戶必須先下載exe文件,然后運行可執行文件。
所以沒有辦法
以下代碼僅在用戶機器中存在 EXE 時才有效。
<a href = "C:\\folder_name\\program.exe">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.