如何在用户点击按钮时创建随机页面?
How to create random page when user clicks on button?
你好
所以我想写一个聊天页面(因为我很无聊)并且想知道一些事情。
看,我的聊天室有两个功能。您可以与所有人聊天,也可以创建自己的聊天室。
和大家的聊天还好,但是我的问题是如何创建一个随机页面。
我的 Js 是这样的:
function makeid(length) {
var result = "";
var characters =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
function chatroom() {
var opened = window.open(makeid(5) + "/index.html");
opened.document.write(
'<title>Chat Room</title> <link rel="stylesheet" href="/style.css" /> <script src="/script.js" defer></script> <link rel="stylesheet" "type="text/css" href="https://www.htmlcommentbox.com/static/skins/bootstrap/twitter-bootstrap.css?v=0" /> <script type="text/javascript" id="hcb"> if (!window.hcb_user) { hcb_user = {}; } (function() { var s = document.createElement("script"), l = hcb_user.PAGE || ("" + window.location).replace(/\'/g, "%27"), h = "https://www.htmlcommentbox.com"; s.setAttribute("type", "text/javascript"); s.setAttribute( "src", h + "/jread?page=" + encodeURIComponent(l).replace("+", "%2B") + "&opts=16862&num=10&ts=1604950047682" ); if (typeof s != "undefined") document.getElementsByTagName("head")[0].appendChild(s); })(); //--> </script> <!-- end www.htmlcommentbox.com --> </head> <body> <h1> CHATZ </h1> <!-- begin wwww.htmlcommentbox.com --> <div id="HCB_comment_box"> <a href="http://www.htmlcommentbox.com">Comment Box</a> is loading comments... </div> </body></html>'
);
当我运行功能聊天室时,会打开about:blank,而不是随机url(如https://inter.blag/2sd39),其中2sd39是一个js生成的随机字符串。
有没有办法让它随机打开一个id?
哦,请注意,我正在寻找纯 js 解决方案
问题 2
当我 运行 第二次编写该代码时,它不会创建 new 聊天室。 about:blank页面还有第一次的旧评论。
你建议我怎么做才能做到这一点?
请注意:
对于js我完全是新手
问题是因为您正在尝试写入生成的 window 的文档。尝试不使用 opened.document.write
,它会起作用。这是一种安全措施。想象一下这样一种情况,您可以像那样打开银行页面(为其他人)并通过动态覆盖内容来弄乱其内容。
我假设您不想或不知道如何创建可以处理 URL 并将它们动态映射(路由)到现有资产或动态生成内容的复杂 Web 应用程序。您可以做的是准备另一份文件,例如。 chat.html
并通过查询将 id 传递给它,例如:
https://inter.blag/chat.html?chatID=2sd39
然后在chat.html
中嵌入的JS代码中使用window.location
读取ID。
我不确定你到底想达到什么目的,我也怀疑 window.open
是否是将用户重定向到其他页面的最佳方式。
你好
所以我想写一个聊天页面(因为我很无聊)并且想知道一些事情。
看,我的聊天室有两个功能。您可以与所有人聊天,也可以创建自己的聊天室。
和大家的聊天还好,但是我的问题是如何创建一个随机页面。
我的 Js 是这样的:
function makeid(length) {
var result = "";
var characters =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
function chatroom() {
var opened = window.open(makeid(5) + "/index.html");
opened.document.write(
'<title>Chat Room</title> <link rel="stylesheet" href="/style.css" /> <script src="/script.js" defer></script> <link rel="stylesheet" "type="text/css" href="https://www.htmlcommentbox.com/static/skins/bootstrap/twitter-bootstrap.css?v=0" /> <script type="text/javascript" id="hcb"> if (!window.hcb_user) { hcb_user = {}; } (function() { var s = document.createElement("script"), l = hcb_user.PAGE || ("" + window.location).replace(/\'/g, "%27"), h = "https://www.htmlcommentbox.com"; s.setAttribute("type", "text/javascript"); s.setAttribute( "src", h + "/jread?page=" + encodeURIComponent(l).replace("+", "%2B") + "&opts=16862&num=10&ts=1604950047682" ); if (typeof s != "undefined") document.getElementsByTagName("head")[0].appendChild(s); })(); //--> </script> <!-- end www.htmlcommentbox.com --> </head> <body> <h1> CHATZ </h1> <!-- begin wwww.htmlcommentbox.com --> <div id="HCB_comment_box"> <a href="http://www.htmlcommentbox.com">Comment Box</a> is loading comments... </div> </body></html>'
);
当我运行功能聊天室时,会打开about:blank,而不是随机url(如https://inter.blag/2sd39),其中2sd39是一个js生成的随机字符串。
有没有办法让它随机打开一个id?
哦,请注意,我正在寻找纯 js 解决方案
问题 2
当我 运行 第二次编写该代码时,它不会创建 new 聊天室。 about:blank页面还有第一次的旧评论。
你建议我怎么做才能做到这一点?
请注意:
对于js我完全是新手
问题是因为您正在尝试写入生成的 window 的文档。尝试不使用 opened.document.write
,它会起作用。这是一种安全措施。想象一下这样一种情况,您可以像那样打开银行页面(为其他人)并通过动态覆盖内容来弄乱其内容。
我假设您不想或不知道如何创建可以处理 URL 并将它们动态映射(路由)到现有资产或动态生成内容的复杂 Web 应用程序。您可以做的是准备另一份文件,例如。 chat.html
并通过查询将 id 传递给它,例如:
https://inter.blag/chat.html?chatID=2sd39
然后在chat.html
中嵌入的JS代码中使用window.location
读取ID。
我不确定你到底想达到什么目的,我也怀疑 window.open
是否是将用户重定向到其他页面的最佳方式。