2017-10-14 37 views
0

您好,我有一個服務器清單與我。但是我們希望通過包含一個按鈕來簡化操作,點擊按鈕應該在記事本中打開我們的主要html頁面,這樣任何沒有編碼知識的人都可以打開它並添加新服務器或輕鬆進行任何更改。可能嗎?我嘗試了很多東西,但都失敗了。非常感謝幫助。簡單來說,我想在我的html頁面中創建一個按鈕,該按鈕應該在記事本中打開我的html頁面,但不能在瀏覽器中打開。如何在HTML中編寫按鈕以在記事本中打開html頁面

<html> 
    <head> 
     <script type="text/javascript"> 
     function runProgram() 
     { 
      var shell = new ActiveXObject("WScript.Shell");     
      var notepad = "C:\Windows\notepad.exe" /e /s /u /wl /wr /maximize"; 
      var file = "file:\\\10.35.114.123\e$\Inventory\Somos\Home1.html"; 
      shell.Run(notepad+file); 
     } 
     </script> 
    </head> 

    <body> 
     <a href="javascript:runProgram()">Run program</a> 
    </body> 
</html> 
+0

除非你創建一個對某些協議類型作出反應的應用程序,我會說沒有 – lumio

+0

你試過了什麼?你能舉一些例子嗎? – putvande

+0

@putvande - 我已經添加了我的代碼。 – jeevanreddymandali

回答

1

我的第一反應是說,這是不可能的,但因爲在你的代碼中使用本地Intranet地址,你可以實現與此條件:

  • 你必須使用IE瀏覽器,因爲ActiveXObject僅由IE支持,因爲該對象是專有的MS擴展。

  • 您可以降低本地Intranet區域的安全設置(僅限該區域,Internet安全設置保持不變)。如果您不這樣做,則腳本將失敗並顯示消息「自動化服務器無法創建對象」

  • 您的用戶具有到該位置的文件網絡訪問權限:該目錄是共享文件夾,用戶具有訪問權限的適當權限(即他們可以使用Windows資源管理器訪問該文件夾)。

首先,你必須修改你的代碼,因爲你使用的參數是不是有效的Windows記事本,你也必須刪除「文件://」協議和網絡中使用雙斜槓路徑(因爲Shell對象期望在C/C++格式字符串):

<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript"> 
    function runProgram() 
    { 
     // only works in Internet Explorer 
     var shell = new ActiveXObject("WScript.Shell");     
     //var notepad = "C:\\Windows\\notepad.exe"; // full path optional for notepad 
     var notepad = "notepad.exe"; // use full path for programs outside Windows folder 
     var file = "\\\\10.35.114.123\\e$\\Inventory\\Somos\\Home1.html"; 
     shell.Run(notepad+" "+file); 
    } 
    </script> 
</head> 
<body> 
    <button onclick="runProgram()">Open Notepad</button> 
</body> 
</html> 

然後,你必須修改每臺計算機的Internet Explorer設置:

  • 打開Internet options,並在Security選項卡中選擇Local Intranet重要提示:請確保您更改本地內部網的設置只有

  • Custom level...按鈕,找到Initialize scripts and ActiveX controls not marked as safe for scripting選項,然後選擇PromptEnable(最好是第一個)。

  • 在Internet Explorer中打開該頁面,它會在底部顯示一條消息,說明默認情況下Intranet設置處於關閉狀態,然後按Turn on Intranet settings

之後,按「打開記事本」按鈕將打開記事本與該文件(也許有警告)。

+0

非常感謝Martin! – jeevanreddymandali

相關問題