代码之家  ›  专栏  ›  技术社区  ›  archeal anie

无法在“窗口”上执行“打开”:无法打开URL为“%3127.0.0.1:3000”的窗口

  •  2
  • archeal anie  · 技术社区  · 8 年前

    我正在做一个 . 我正在使用 window.open() 打开新选项卡。

    我的代码

    $scope.doOpenLink = ()->
        domain = '127.0.0.1'
        port = '3000'
    
        window.open("#{domain}:#{port}");
    

    但我得到了这个错误:

    错误:无法在“窗口”上执行“打开”:无法打开窗口 URL'%3127.0.0.1:3000'无效。

    at MyServerScopeController.vm.doOpenLink (base-adb5b1181b.js:4294)
    at fn (eval at compile (angular-29115c1a5c.js:15156), <anonymous>:4:286)
    at callback (angular-29115c1a5c.js:26744)
    at Scope.$eval (angular-29115c1a5c.js:17972)
    at Scope.$apply (angular-29115c1a5c.js:18072)
    at Scope.scopePrototype.$apply (hint.js:1558)
    at HTMLAnchorElement.<anonymous> (angular-29115c1a5c.js:26749)
    at HTMLAnchorElement.dispatch (jquery-888d4551b8.js:4737)
    at HTMLAnchorElement.elemData.handle (jquery-888d4551b8.js:4549)
    

    我的域名 '127.0.0.1:3000' 渲染为 '%3127.0.0.1:3000' . 你知道我该怎么修吗?谢谢

    1 回复  |  直到 8 年前
        1
  •  2
  •   DarthJDG chetan borse    8 年前

    问题不在于字符串的呈现方式,如果在Chrome浏览器控制台中运行以下代码,则会出现相同的奇怪错误:

    window.open('127.0.0.1:3000');
    

    window.open('http://127.0.0.1:3000');
    

    这个错误消息有点误导人,我认为这是一个bug。