【问题标题】:SCRIPT87: Invalid argument in IE 9, ASP.NET C#SCRIPT87:IE 9、ASP.NET C# 中的参数无效
【发布时间】:2012-03-24 07:40:46
【问题描述】:

这适用于除 IE 之外的所有其他浏览器。我正在 c# 后面的代码中建立一个链接:

string link = <a onclick=\"Myfunction('" + Server.UrlEncode(mystring) + "');\" href=\"javascript:void(0);\">Open Pop Up Window</a>

这是我的 javascript 函数:

 function Myfunction(pMyString) {
        CloseWindow();

        var url = "DomainPath/MyPage.aspx?Site=" + pMyString;
        win = window.open(url, "Manage Domain", 'toolbar=no,location=no,status=no,directories=no,scrollbars=yes,resizable=no,width='+700+',height='+500);
    }

如果将函数添加到aspx页面的onclick方法中,它在IE中有效。似乎只有当我在后面的代码中动态构建链接时。它不会接受任何值作为参数,并且 IE 总是输出错误:SCRIPT87: Invalid argument with a line number to my function,但是我无法调试。有什么遗漏的吗?

这里是html输出:

<td><a onclick="Myfunction('urlformyexample.com');" href="javascript:void(0);">Open Pop Up Window</a></td>

【问题讨论】:

  • 请同时发布生成的html。
  • 感谢您的回复,我已经用 html 更新了我的帖子。我传递的变量将是域名,这就是我将其作为参数的原因。
  • “但是我无法调试。有什么遗漏的吗?”。是的,你错过了内置的 IE 调试器。
  • 也许你的 IE 禁用了 javascript
  • 嗯。如果您想内联编写 onclick,请尝试将 return false; 添加到您的代码中。

标签: c# javascript asp.net internet-explorer


【解决方案1】:

IE9 调试器在您的 window.open 命令上工作并失败。

IE 不喜欢 windowName 参数中的空格 - “管理域”。

删除所有空格、连字符和下划线(除非您想要_blank),然后重试。

【讨论】:

  • ie9 不喜欢窗口名称中的下划线和圆点。伤心!
  • +1。原来窗口名称中的连字符也会破坏 IE9 中的 window.open()。
  • 开发者工具...查看异常详情
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-10
  • 2012-05-01
相关资源
最近更新 更多