Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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脚本重定向和修改新页面_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用相同的jQuery脚本重定向和修改新页面

Javascript 使用相同的jQuery脚本重定向和修改新页面,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图用JQuery创建一个函数,当我单击一个按钮时,它会将用户带到一个新的html页面,然后修改页面的内容(作为练习)。但是,尽管该函数确实会将用户带到新页面,但它不会使用新标记等修改html。我做错了什么 这是主页的HTML: 通用名 图形用户界面测试 贝塔 加载。。。 当你打电话时 $(window).attr("location", 'http://eaf10176.ngrok.io/About?user=' + id); 它将刷新您的页面,这两行 var $dataContain

我试图用JQuery创建一个函数,当我单击一个按钮时,它会将用户带到一个新的html页面,然后修改页面的内容(作为练习)。但是,尽管该函数确实会将用户带到新页面,但它不会使用新标记等修改html。我做错了什么

这是主页的HTML:


通用名
图形用户界面测试
贝塔
加载。。。
当你打电话时

$(window).attr("location", 'http://eaf10176.ngrok.io/About?user=' + id);
它将刷新您的页面,这两行

var $dataContainer = $('#container-A');
$dataContainer.html('');
你永远不会跑

当页面重新加载时,
.js
文件也将重新加载

在新页面中,如果要读取用户id,可以使用此功能

function getQueryVariable(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0; i < vars.length; i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}
函数getQueryVariable(变量) { var query=window.location.search.substring(1); var vars=query.split(&); 对于(变量i=0;i 因此,在新页面中,当您需要用户id时,您调用了上述函数


getQueryVariable('用户')
它将为您返回id

您可以阅读更多内容

执行此操作

function TakeToCardInfo(id){
  $(window).attr("location", 'http://eaf10176.ngrok.io/About?user=' + id);
  var $dataContainer = $('#container-A');
  $dataContainer.empty();
};

如上所述,在脚本重定向之后,您将无法在该行之后运行任何内容

您需要重新定向页面以完成其余操作

重定向可以添加另一个参数来决定另一个页面必须执行的操作,如下所示:

function TakeToCardInfo(id){
  $(window).attr("location", 'http://eaf10176.ngrok.io/About?user=' + id + '&run=something');
};
在另一页上,您需要检测该参数。您的URL中的参数可以通过以下方式进行解析(基于此):

Cleanup()
在本例中,包含您之前希望运行的内容:

function cleanup() {

  var $dataContainer = $('#container-A');
  $dataContainer.html('');

}

从上一页重定向到后,无法编辑该页。JS将只修改当前加载的页面。您必须在新页面中创建一个函数并运行它。如果您需要根据您的来源在不同的行为之间进行选择,那么您可能需要使用URL参数,但单独使用jQuery无法做到这一点。你需要一个类似路由器的东西来在路由之间传递数据。@VictoriaRuiz谢谢你的解释,我不知道。您建议我如何将用户发送到新页面,但在该新页面中,使用上一页中的“this.ID”参数调用函数,因为此ID参数将用于定义此新页面中所需的标记?请查看我的新答案,希望您可以使用它开始。@VictoriaRuiz谢谢!我真的很感激!谢谢你的回复!您建议我如何将用户发送到新页面,但在该新页面中,调用一个函数/脚本,将上一页面上单击的按钮的ID作为参数,因为此ID参数将用于定义此新页面中所需的标记?糟糕!他正在尝试注入一个脚本,但可能不起作用,一开始没有正确检查。您还可以使用params.id
if (params.run == "cleanup") cleanup();
function cleanup() {

  var $dataContainer = $('#container-A');
  $dataContainer.html('');

}