weijiajia11 2024-08-19 20:36 采纳率: 0%
浏览 7

ie 弹出谷歌页面 传多个参数问题

var objShell = new ActiveXObject("WScript.Shell");
objShell.Run("cmd.exe /c start chrome http://........html?xx=.....&ss=....",0,true);

能新打开谷歌浏览器,但是页面只能收到一个传参数据xx

.

  • 写回答

1条回答 默认 最新

  • 铭渊老黄 新星创作者: Python技术领域 2024-08-20 05:33
    关注
    🕒上午好,题主!目前:🟢[在线]
    📢参考GPT-4o mini 模型、由清水白石008整理提供!
    📣今日金句:“生活就像骑自行车。要保持平衡,就得不断前进。” — 阿尔伯特·爱因斯坦
    

    在使用 ActiveXObjectcmd.exe 启动 Chrome 浏览器时,如果你发现只能传递一个参数而无法传递多个参数,可能是因为 URL 中的参数格式不正确或被错误解析。

    在 URL 中,参数之间应该用 & 符号分隔,并且在某些情况下,特别是当参数值中包含特殊字符时,可能需要对参数进行 URL 编码。

    以下是一个示例,展示如何正确构造 URL 以传递多个参数:

    var objShell = new ActiveXObject("WScript.Shell");
    var url = "http://example.com/page.html?xx=value1&ss=value2";
    objShell.Run("cmd.exe /c start chrome \"" + url + "\"", 0, true);
    

    关键点:

    1. 使用引号:在 URL 前后加上双引号("),以确保整个 URL 被视为一个参数,特别是当 URL 中包含特殊字符或空格时。

    2. URL 编码:如果参数值中包含特殊字符(如空格、&= 等),请使用 encodeURIComponent 函数进行编码。例如:

      var param1 = encodeURIComponent("value with spaces");
      var param2 = encodeURIComponent("value&with&special=characters");
      var url = "http://example.com/page.html?xx=" + param1 + "&ss=" + param2;
      
    3. 确保参数格式正确:确保 URL 的格式正确,参数之间用 & 分隔,且每个参数都以 key=value 的形式表示。

    完整示例:

    var objShell = new ActiveXObject("WScript.Shell");
    var param1 = encodeURIComponent("value1");
    var param2 = encodeURIComponent("value2");
    var url = "http://example.com/page.html?xx=" + param1 + "&ss=" + param2;
    objShell.Run("cmd.exe /c start chrome \"" + url + "\"", 0, true);
    

    通过这种方式,你应该能够在打开的 Chrome 页面中接收到多个参数。如果仍然遇到问题,请检查 Chrome 的设置或其他可能影响 URL 解析的因素。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月19日