无法通过Javascript函数在记事本中打开文本文件

时间:2012-10-28 16:31:51

标签: javascript

我无法通过下面的Javascript函数在记事本中打开文本文件。如果您想帮助,请运行此自解释脚本。感谢。

  <script type="text/javascript">

  function RunURL(URL,Name) {
  window.open (URL,Name,
  "Width=1010,\
  Height=800,\
  Top=0,\
  Left=0,\
  Channelmode=0,\
  Titlebar=0,\
  Menubar=0,\
  Toolbar=0,\
  Directories=0,\
  Location=0,\
  Status=0,\
  Scrollbars=1,\
  Resizable=1,\
  Fullscreen=0");
  }

  </script>

不幸的是我无法将代码发布为一个...

  <html><form>

  <h2>Trying to open a text file in notepad for an Intranet app...</h2><br>

  First the easy one...<br>

  <input Type="button"; Value="Open Notepad"; OnClick="RunURL('file:///C:/Windows/system32/notepad.exe')";><br>

  <br>Now to open a text file so let's start with some common sense for the parameters as displayed in the buttons...<br>

  <input Type="button"; Value="?=C:\Test.txt"; OnClick="RunURL('file:///C:/Windows/system32/notepad.exe?=C:\Test.txt')";><br>
  <input Type="button"; Value="?=file:///C:/Test.txt"; OnClick="RunURL('file:///C:/Windows/system32/notepad.exe?=file:///C:/Test.txt')";><br>
  <input Type="button"; Value="?C:\Test.txt"; OnClick="RunURL('file:///C:/Windows/system32/notepad.exe?C:\Test.txt')";><br>

  <br>Desperation takes over!<br>

  <input Type="button"; Value="?open=file:///C:/Test.txt"; OnClick="RunURL('file:///C:/Windows/system32/notepad.exe?open=file:///C:/Test.txt')";><br>
  <input Type="button"; Value="?open=C:\Test.txt"; OnClick="RunURL('file:///C:/Windows/system32/notepad.exe?open=C:\Test.txt')";><br>
  <input Type="button"; Value="?open=C:/Test.txt"; OnClick="RunURL('file:///C:/Windows/system32/notepad.exe?open=C:/Test.txt')";><br>
  <input Type="button"; Value="?C:/Test.txt"; OnClick="RunURL('file:///C:/Windows/system32/notepad.exe?C:/Test.txt')";><br>

  <br>Could the file association alone trigger notepad to open it?<br>

  <input Type="button"; Value="file:///C:/Test.txt"; OnClick="RunURL('file:///C:/Test.txt')";><br>
  <input Type="button"; Value="C:/Test.txt"; OnClick="RunURL('C:/Test.txt')";><br>

  <br>Nope!<br>
  </form></html>

也许我应该回去翻转汉堡...... :(

2 个答案:

答案 0 :(得分:4)

您不能使用JavaScript打开这样的本地文件 - 这是一种安全机制,可确保世界各地的网站无法在您的计算机上执行任何他们想要的程序。

如果允许浏览器执行C:/Windows/system32/notepad.exe,会阻止它调用format c:吗?

答案 1 :(得分:0)

您可以在记事本中打开文档,如下所示:

RunURL('C:/Windows/system32/notepad.exe C:\Test.txt')

注意:您必须使用Windows样式目录分隔符 - \ - 作为第一个"notepad.exe"参数。


编辑:正如 Oded 所说:

  

如果允许浏览器执行   C:/Windows/system32/notepad.exe,什么会阻止它调用   格式c:?

你会得到一个&#34;下载&#34; 记事本的本地副本,而不是执行它。


编辑2:另请看一下:

  

How can I run a program or batch file on the client side?