Javascript 使用相同的jQuery脚本重定向和修改新页面
我试图用JQuery创建一个函数,当我单击一个按钮时,它会将用户带到一个新的html页面,然后修改页面的内容(作为练习)。但是,尽管该函数确实会将用户带到新页面,但它不会使用新标记等修改html。我做错了什么 这是主页的HTML: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
通用名
图形用户界面测试
贝塔
加载。。。
当你打电话时
$(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
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('');
}