【问题标题】:How to call vbscript function using jQuery?如何使用 jQuery 调用 vbscript 函数?
【发布时间】:2019-02-01 05:51:09
【问题描述】:

我是 JQuery 的新手。我正在尝试调用 vbscript 函数 inside jQuery。我想使用 jQuery 在按钮单击时调用 vbscript。我尝试使用 javascript 的按钮 onclick() 方法为按钮 "Say Hello" 调用 vbscript 函数 "callfun()"强>,它正在工作。但是当我尝试使用 jQuery 为按钮 “Say MACRO” 调用相同的 vbscript 函数 "callfun()" 时。它什么也没显示。

以下代码需要启用 ACTIVEXOBJECTS。

运行以下代码的步骤:

  • 将以下代码复制并保存在记事本中,并以 .html 扩展名保存文件。
  • 打开 chrome,从此处搜索 “IE TAB” 扩展程序或 download,安装它,并将其添加到 chrome 以启用插件图标。
  • 现在打开.html文件,点击IE TAB扩展
  • 链接或html页面将直接在IE TAB插件内自动打开,然后可以测试html代码。

<html>
   <head>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
   <script type = "text/Vbscript">
	Function callfun() 
	Msgbox("Hello!")
	End Function
   </script>
   <script>
	$(document).ready(function(){
	   $("#mac").click(function(){
	      callfun();
	   });
	});
   </script>
   </head> 
   <body>
      <input type = "button" onclick = "callfun()" value = "Say Hello" />
      <input type = "button" id="mac" value = "Say MACRO" />
   </body>
</html>

我什至尝试将 jQuery 脚本更改为:

在函数前添加vbscript标签。

<script>
   $(document).ready(function(){
     $("#mac").click(function(){
       vbscript:callfun();
    });
  });
</script>

添加 jQuery attr() 函数。

<script>
    $(document).ready(function(){
       $("#mac").attr("onclick", "callfun()");
    });
</script>

在 jQuery attr() 函数中添加 语言

<script>  
    $(document).ready(function(){
       $("#mac").attr("language", "vbscript").attr("onclick", "callfun");
    });
</script>

但是没有使用 jQuery 调用 vbscript 函数。 请有人帮助我或建议我完成它的方法。

【问题讨论】:

  • 如何打开 HTML 文件?为什么需要 VBS 代码?
  • @omegastripes 上面的 html 代码可以使用浏览器扩展“IE TAB”运行(链接在下面共享)。我需要在适用于 jQuery 的应用程序中单击按钮时调用现有的 vbscript。 chrome.google.com/webstore/detail/ie-tab/…
  • 你能解释一下大局吗?你想解决什么问题?也许你不需要 VBScript?
  • @Jobbo 基本上,我有很多需要重用的 vbscript 代码。我想使用 jQuery 在单击按钮时执行它(vbscript 代码)。
  • 如果您必须重用此 VBScript 而不是用 Javascript 重新编写它,那么为什么首先尝试使用 JQuery 调用它呢?为什么按钮中没有 VBScript 单击处理程序,因为无论如何 VBScript 只能在 IE 中重用...

标签: javascript jquery html vbscript


【解决方案1】:

尽管您可能会合法地使用它,但它并不是一种“好”的方式来做您想做的任何事情。大多数浏览器甚至 Windows 本身都会尽最大努力在多个级别上阻止您正在执行的操作,因为从安全角度来看,这是一种非常粗略的方式来完成您想要完成的任何事情,哈哈

所以这不起作用的事实并不让我感到惊讶。我要做的是让数据包嗅探器运行并读取所有发生的http数据,以获取有关其是否正确发送以及服务器/页面如何响应的线索。

这可能违反了互联网规则和东西的同源策略 DOM 模型,或者至少有点违反它,你的工作很有趣,我曾经喜欢 vbscript,但 vbscript 也正在迅速被弃用

我不建议这样做:但只是为了测试,您可以暂时降低您的 IE 安全设​​置级别。看看这样做是否允许粗略的脚本通过

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多