Html,一个使用onclick函数进行重定向的标记

Html,一个使用onclick函数进行重定向的标记,html,tags,Html,Tags,有人能详细解释上述代码吗?在本例中: 您试图将regexurl=(https?:\/\/.+)应用于当前位置,afaik“location”无法返回以“url=”开头的内容,但我可能会出错 您在returnUrl变量中插入的regex.exec应答(它是数组) 如果给定数组中有一些条目,则在location.href中插入第二个条目(为什么是第二个?:) 如果给定数组中没有条目,则在location.href中插入“/” 将值插入“location”变量相当于导航到插入的url 来自regex.

有人能详细解释上述代码吗?

在本例中:

  • 您试图将regex
    url=(https?:\/\/.+)
    应用于当前位置,afaik“location”无法返回以“url=”开头的内容,但我可能会出错
  • 您在returnUrl变量中插入的regex.exec应答(它是数组)
  • 如果给定数组中有一些条目,则在location.href中插入第二个条目(为什么是第二个?:)
  • 如果给定数组中没有条目,则在location.href中插入“/”
  • 将值插入“location”变量相当于导航到插入的url

    来自regex.com的regex解释

    <a href='#' onclick='returnUrl = /url=(https?:\/\/.+)/.exec(location); if(returnUrl)location.href = returnUrl[1];else location.href = "/"'>Back to Blog</a>
    
    您的伪代码示例:

    url= matches the characters url= literally (case sensitive)
    1st Capturing Group (https?:\/\/.+)
    http matches the characters http literally (case sensitive)
    s?
    matches the character s literally (case sensitive)
    : matches the character : literally (case sensitive)
    \/ matches the character / literally (case sensitive)
    \/ matches the character / literally (case sensitive)
    .+
    matches any character (except for line terminators)
    

    这是一个很好的机会,可以将代码移动到函数中,并将每个操作拆分到自己的行中。然后使用浏览器的调试工具在代码执行时逐步检查代码,并检查每个操作的结果。当您这样做时,哪些操作不清楚?哪个操作会产生您意想不到的结果?我不懂html。。请您解释一下onclick中编写的代码的工作原理好吗?(1)您询问的具体代码是JavaScript,而不是HTML。(2) 如果你不懂HTML或JavaScript,那么你的第一步就是找到一些关于这些技术的入门教程并开始学习。堆栈溢出可以帮助解决代码中的特定问题,但我们不提供自定义教程服务来教您这些技术。要了解更多关于这个社区的信息以及我们如何帮助您,请从and read及其链接的资源开始。我在过去的4个小时里一直在尝试分解此代码的工作。我知道,单击链接后,它将重定向到主页,exec函数用于识别位置参数内的模式。但是我在我正在浏览的网站上的任何地方都找不到returnUrl参数。我也不明白为什么url-http被放在“//”之间。在你显示的代码中,返回url被称为“变量”。变量用于在代码中存储值。因为它有一个隐式声明,所以默认情况下它是
    窗口
    对象上的一个属性。正斜杠之间的语法称为“正则表达式”。
    if there is matches for /url=(https?:\/\/.+)/ in location
    then redirect to this match (in group)
    else redirect to '/'