Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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
使用JavaScript或jQuery,如何在页面加载后向URL添加参数_Javascript - Fatal编程技术网

使用JavaScript或jQuery,如何在页面加载后向URL添加参数

使用JavaScript或jQuery,如何在页面加载后向URL添加参数,javascript,Javascript,目前,我正在使用以下代码在页面加载后的URL末尾添加一个标签: window.location.hash = 'mobile'; 或者,我需要在URL的末尾添加一个参数,比如 "&location=mobile" 我该怎么做那样的事呢?谢谢您有关更多信息,请参见此,但现在大多数现代浏览器都可以这样做: 使用HTML5: window.history.pushState("object or string", "Title", "/new-url"); 除非在引用历史时需要对象,否则

目前,我正在使用以下代码在页面加载后的URL末尾添加一个标签:

window.location.hash = 'mobile';
或者,我需要在URL的末尾添加一个参数,比如

"&location=mobile"

我该怎么做那样的事呢?谢谢您

有关更多信息,请参见此,但现在大多数现代浏览器都可以这样做:

使用HTML5:

window.history.pushState("object or string", "Title", "/new-url");
除非在引用历史时需要对象,否则可以将其保留为空,并且标题当前也不会更改任何内容,因此您可能不需要它。基本上,您只需要第三个参数,这在您的案例中是最有可能的。如果希望看到它工作,请将其另存为html文件并运行它(由于某些原因,JSFIDLE不会显示它):

或者,仅保留文件夹结构而不保留任何页面url:

    var loc = window.location.pathname,
    dir = loc.substring(0, loc.lastIndexOf('/'));

history.pushState("", "", dir+"/whatever");

编辑:如果您担心浏览器支持/internet explorer,那么History.js可能与您的兴趣相关:

有关更多信息,请参见此,但现在大多数现代浏览器都可以这样做:

使用HTML5:

window.history.pushState("object or string", "Title", "/new-url");
除非在引用历史时需要对象,否则可以将其保留为空,并且标题当前也不会更改任何内容,因此您可能不需要它。基本上,您只需要第三个参数,这在您的案例中是最有可能的。如果希望看到它工作,请将其另存为html文件并运行它(由于某些原因,JSFIDLE不会显示它):

或者,仅保留文件夹结构而不保留任何页面url:

    var loc = window.location.pathname,
    dir = loc.substring(0, loc.lastIndexOf('/'));

history.pushState("", "", dir+"/whatever");

编辑:如果您担心浏览器支持/internet explorer,那么History.js可能与您的兴趣相关:

您可以这样做,但页面将重新加载。是否要使其像“window.location.hash='mobile'”版本一样工作?您可以这样做,但页面将重新加载。是否要使其像“window.location.hash='mobile'”版本一样工作版本?啊,那是真的!我忘了历史api!有趣的是,你能给我举一个例子说明如何使用它来增加我当前的域名吗?例如,我当前的域名是“www.something.com/a-page-title”,但我希望它是“www.something.com/a-page-title/mobile”,这是怎么做到的?谢谢,它真的和那行代码一样简单。如果您需要更好的浏览器支持,我提供了更多的信息和示例,以及指向更强大库的链接。希望这能帮到你。是的,我试过了,它替换了初始域之后的任何内容,例如,www.something.com/original更改为www.something.com/lookiehere.html,我希望它只是添加到URL中,而不是替换为www.something.com/originallookiehere.html,这不可能吗?啊,是的,您可以向其中添加,或者对所需目录进行硬编码,或者通过编程进行添加,例如,
history.pushState(“,”,“/”+window.location.pathname.substr(1)+“lookiehere.html”)
history.pushState(“,”,“/”+window.location.pathname.substr(1)+“this=this”)啊,那是真的!我忘了历史api!有趣的是,你能给我举一个例子说明如何使用它来增加我当前的域名吗?例如,我当前的域名是“www.something.com/a-page-title”,但我希望它是“www.something.com/a-page-title/mobile”,这是怎么做到的?谢谢,它真的和那行代码一样简单。如果您需要更好的浏览器支持,我提供了更多的信息和示例,以及指向更强大库的链接。希望这能帮到你。是的,我试过了,它替换了初始域之后的任何内容,例如,www.something.com/original更改为www.something.com/lookiehere.html,我希望它只是添加到URL中,而不是替换为www.something.com/originallookiehere.html,这不可能吗?啊,是的,您可以向其中添加,或者对所需目录进行硬编码,或者通过编程进行添加,例如,
history.pushState(“,”,“/”+window.location.pathname.substr(1)+“lookiehere.html”)
history.pushState(“,”,“/”+window.location.pathname.substr(1)+“this=this”)