0

我无法通过下面的 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>

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

4

2 回答 2

4

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

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

于 2012-10-28T16:33:31.580 回答
0

您可以像这样在记事本中打开文档:

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

注意:您必须使用 Windows 风格的目录分隔符 — \— 作为第一个"notepad.exe"参数。


编辑:正如奥德所说:

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

您将获得记事本本地副本的“下载” ,而不是执行它。


编辑2:也看看这个:

如何在客户端运行程序或批处理文件?

于 2012-10-28T16:39:28.463 回答