Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash 拆分location.href以获取多个值?_Hash_Split_Href_Var - Fatal编程技术网

Hash 拆分location.href以获取多个值?

Hash 拆分location.href以获取多个值?,hash,split,href,var,Hash,Split,Href,Var,我有一个变量,可以找到当前url并将其拆分如下: var ehref=window.location.href.split(“?”,1) 然后,这将用于将url与导航链接href匹配,并为页面提供ID。我的问题是,当我们的cookie弹出窗口关闭时,#被添加到url。随后,页面链接在带有#的用户之间传递,页面ID不起作用 在a#处拆分url的简单方法是什么?我对jquery还不熟悉,因此我理解我“阅读”的要点,但我从网络研究中尝试的任何东西都打破了这一页。我可以将“?”替换为“#”,但这并不能真

我有一个变量,可以找到当前url并将其拆分如下:

var ehref=window.location.href.split(“?”,1)

然后,这将用于将url与导航链接href匹配,并为页面提供ID。我的问题是,当我们的cookie弹出窗口关闭时,#被添加到url。随后,页面链接在带有#的用户之间传递,页面ID不起作用

在a#处拆分url的简单方法是什么?我对jquery还不熟悉,因此我理解我“阅读”的要点,但我从网络研究中尝试的任何东西都打破了这一页。我可以将“?”替换为“#”,但这并不能真正解决问题


谢谢

如果要在“#”之后获取字符串,可以这样写:

window.location.hash

在javascript中,请参见

我一直在寻找一种方法来拆分URL并替换为新的URL。例如,YouTube.com/“user/video”并将其更改为YouTube.com/v/“video”,这样我就不必登录观看受到限制的视频。但是需要使用相同的代码,在两个标记之间获取我想要的任何字符串。我们开始吧

我们的目标是:隔离URL的一部分并在另一个URL中使用它! 为了便于阅读,代码行将被分成几个部分 代码行将用于从浏览器书签中单击的web链接

示例URL

https://duckduckgo.com/?q=School&t=h\uU&atb=v102-5\u f&ia=web

守则:

javascript:var DDG=(window.location.href.split('?q=')[1]);DDG2=DDG.split('&t')[0];DD2G="https://www.google.com/search?q="+DDG2;window.location.assign(DD2G);
变量名

  • DDG=duckduckgo
  • DDG2=duckduckgo2
  • DD2G=DuckDuckGo2谷歌
代码细分如下:

  • javascript:var-DDG=(window.location.href.split(“?q=”)[1])

  • DDG2=DDG.split('&t')[0]

  • DD2G=”https://www.google.com/search?q=“+DDG2

  • 窗口.位置.分配(DD2G) 代码的第一部分将其定义为JavaScript,我们创建一个名为DDG的变量(var)

    Var DDG
    
    下一部分我们希望该值与用户浏览器的当前URL相同,并将其拆分为多个部分

    window.location.href.split
    
    我们想在URL中找到这个字符串“?p=”,它表示duckduckgo中的搜索查询

    但是我只想要在“?p=”后面用[1]表示的内容,它将给变量名DDG这个值:School&t=h\u&atb=v102-5\u f&ia=web 我们现在想要分割刚刚给DDG变量的新值,所以我们对它进行分割

    这一次我们只需要在“&=”之前添加所有内容,所以我们将[0]并将结果赋给一个新变量,我们称之为DDG2

    DDG2 = DDG.split(‘&t’)[0]
    
    我们现在有了一个新的变量和我们想要的值,我们将使用DDG2替换另一个URL中我们想要的任何内容

    DDG2=学校(每次有新的搜索时都会更新。)

    现在我们想用新的URL+变量名替换URL。 我们将最终变量名DD2G的值设置为:https://www.google.com/search?q=但我们希望从DDG2中添加值

    DD2G="https: //www.google.com/search?q="+DDG2;
    
    看起来是这样的(https://www.google.com/search?q=School)。 我们现在想把它分配给浏览器,它会用搜索词重定向到新的URL

    窗口.位置.分配(DD2G)

    =window.location.assign(“https://www.google.com/search?q=“+(DDG2))

    =window.location.assign(“https://www.google.com/search?q=School”)

    =https://www.google.com/search?q=School//我们的新URL和我们从duckduckgo开始的搜索词,无需重新键入查询

    因此,对于您的问题,只需将“”?q='之间的字符串替换为您希望脚本查找的第一个字符串,然后根据该结果,将“”与t之间的第二个字符串更改为您希望脚本查找的第二个字符串

    我希望这有帮助

    如果要对其进行测试,请选择以下所有选项:

    javascript:var DDG=(window.location.href.split('?q=')[1]);DDG2=DDG.split('&t')[0];DD2G="https://www.google.com/search?q="+DDG2;window.location.assign(DD2G);
    
    然后将它拖到工具栏/书签的空白处,在Firefox中,我不知道这是否适用于其他浏览器,但如果它们支持Javascript,它应该可以工作。现在导航到DuckDuckgo.com并搜索一些内容,然后单击带有该代码的书签