【问题标题】:JavaScript : Prevent showing alert when the url being opened is invalidJavaScript:当打开的 url 无效时防止显示警报
【发布时间】:2015-07-31 16:06:26
【问题描述】:

我有一个要求,我必须从 html 页面打开一个 URL。但是,在我打开 URL 之前,我无法确定 URL 是否有效,所以当我尝试打开无效的 url 时,网页会发出警告说“Safari 无法打开页面,因为地址无效。”。

我知道它的设计是有原因的,但是当 url 无效时,是否有防止显示此警报的方法。

编辑:网址仅是有效格式,但网站域错误。我认为,正则表达式在这种情况下无济于事。

【问题讨论】:

    标签: javascript jquery html web mobile-safari


    【解决方案1】:

    当您尝试访问无效 URL 时,您无法阻止 Safari 显示该警报。也许您应该在尝试访问它之前验证它是一个有效的 URL。

    【讨论】:

    • 如何验证网址,有什么办法吗?
    • A quick search 展示了一些简单的方法。
    • 该网址仅有效,我只想检查边缘情况,当网页可能关闭时,我认为正则表达式在这种情况下可能无济于事,任何 cmets..?
    • @Krish 它是哪一个? URL 是否无效,域是否无效(groogle.com 而不是google.com),还是站点已关闭(出现 404 错误)?
    • 它可能包括 URL 的格式,例如,iPhone 认为 tel://1234567890 也是一个有效的 url,但是如果 url 是 tele://1234567890,它是一个错误的 url,那么我该如何捕捉这个
    【解决方案2】:

    使用正则表达式验证 url 语法,然后再将其传递给 safari。例如:

    ^(http(?:s)?\:\/\/[a-zA-Z0-9]+(?:(?:\.|\-)[a-zA-Z0-9]+)+(?:\:\d+)?(?:\/[\w\-]+)*(?:\/?|\/\w+\.[a-zA-Z]{2,4}(?:\?[\w]+\=[\w\-]+)?)?(?:\&[\w]+\=[\w\-]+)*)$
    

    如果这对您不起作用,您可以找到许多其他 url 验证正则表达式来验证您的 URL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 1970-01-01
      • 2016-05-25
      相关资源
      最近更新 更多