首页 > 其他分享 >代码中打开新窗体,前端和后端

代码中打开新窗体,前端和后端

时间:2024-02-27 14:00:43浏览次数:22  
标签:窗口 URL 前端 Response window 窗体 浏览器 代码 页面

前端:

1、window.open()

window.open() 方法是 JavaScript 中的一个内置方法,用于在浏览器中打开一个新的窗口或标签页。

1)语法:window.open(url, name, features, replace);

注意:由于弹出窗口的滥用已经成为了一个安全问题,现代浏览器通常会默认阻止 window.open() 方法的调用,除非是在用户的交互下触发的。因此,在实际的开发中,我们需要谨慎使用这个方法,避免被浏览器误认为是恶意行为。

2) 参数说明
url 必选参数:要打开的 URL 地址。可以是任何有效的 URL,包括 HTTP、HTTPS、FTP 等协议。

 

name 可选参数:新窗口的名称,默认_blank。可以是任何字符串,有以下几种情况:

_self:当前窗口中打开。
_blank 或者 不写该参数:新窗口中打开,窗口name为空字符串。
任何字符串 新窗口中打开,窗口name为任何字符串。如果指定的名称已经存在,则会在该窗口中打开该 URL,而不是新建一个窗口。

 

features 可选参数:一个逗号分隔的字符串,指定新窗口的一些特性。这个字符串中可以包含以下属性:

width:窗口的宽度;
height:窗口的高度;
top:窗口距离屏幕顶部的距离,默认0;
left:窗口距离屏幕左侧的距离,默认0;
menubar:是否显示菜单栏,yes\no;
toolbar:是否显示工具栏,yes\no;
location:是否显示地址栏,yes\no;
status:是否显示状态栏,yes\no;
resizable:是否允许用户调整窗口大小,yes\no;
scrollbars:是否显示滚动条,yes\no。
replace 可选参数:一个布尔值,指定新打开的 URL 是否替换当前页面的历史记录。如果为 true,则新的 URL 会替换当前页面的历史记录,用户点击浏览器的“返回”按钮时会回到上一个页面;如果为 false,则新的 URL 会添加到当前页面的历史记录中,用户点击浏览器的“返回”按钮时会回到上一个 URL。

注意:1、当 指定 features 参数时, width和 height 是必须明确给出值,否则,features 参数将不起作用。

           2、features 参数中, width、 height、top、 left是常用的参数。menubar、toolbar、location、status、resizable、scrollbars 参数已经被大部分浏览器弃用(为了更好的用户体验),因此即使进行了相关设置,也不会发生变化。

window.open(url, "_blank", "width=800,height=300,top = 200, left=400");

2、window.location.href

当前窗口中打开也可以使用 window.location.href,它是 JavaScript 中的一个属性,表示当前网页的 URL 地址。它可以用来获取当前网页的 URL,也可以用来跳转到其他网页。

console.log(window.location.href); // 输出当前网页的 URL 地址
window.location.href = "https://www.example.com"; // 跳转到 https://www.example.com

 后台:

1.Response.Redirect(http://www.baidu.com,false); 目标页面和原页面可以在2个服务器上,可输入网址或相对路径。后面的bool值为是否停止执行当前页。 跳转向新的页面,原窗口被代替。" 浏览器中的URL为新路径。 :Response.Redirect方法导致浏览器链接到一个指定的URL。当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了 状态代码302(表示目标已经改变)以及新的目标URL。浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求。这就是说, 使用Response.Redirect方法时重定向操作发生在客户端,总共涉及到两次与服务器的通信(两个来回):第一次是对原始页面的请求, 得到一个302应答,第二次是请求302应答中声明的新页面,得到重定向之后的页面。

2.Server.Transfer("Default2.aspx?name=zhangan",true); 目标页面和原页面可以在同一个服务器上。 跳转向新的页面,原窗口被代替。浏览器中的URL为原路径不变。 默认情况下,Server.Transfer方法不会把表单数据或查询字符串从一个页面传递到另一个页面,但只要把该方法的第二个参数设置成 True,就可以保留第一个页面的表单数据和查询字符串。 同时,使用Server.Transfer时应注意一点:目标页面将使用原始页面创建的应答流,这导致ASP.NET的机器验证检查(Machine Authentication Check,MAC)认为新页面的ViewState已被篡改。因此,如果要保留原始页面的表单数据和查询字符串集合, 必须把目标页面Page指令的EnableViewStateMac属性设置成False。

3.Server.Execute("Default5.aspx?address=beijing); 目标页面和原页面可以在同一个服务器上。 跳转向新的页面,再跳转会原页面。 浏览器中的URL为原路径不变。 当指定的ASPX页面执行完毕,控制流程重新返回原页面发出Server.Execute调用的位置。 这种页面导航方式类似于针对ASPX页面的一次函数调用,被调用的页面能够访问发出调用页面的表单数据和查询字符串集合,所以要把 被调用页面Page指令的EnableViewStateMac属性设置成False。

4.Response.Write("<script language='javascript'>window.open('aaa.aspx');</script>");_ 目标页面和原页面可以在2个服务器上,可输入网址或相对路径。 原窗口保留,另外新增一个新页面。

5.Response.Write("<script language='javascript'>window.location='Default2.aspx'</script>"); 打开新的页面,原窗口被代替。

6.Response.Write("<script>window.showModalDialog('Default2.aspx')</script>");

7.Response.Write("<script>window.showModelessDialog('Default2.aspx')</script>");

(一)、showModalDialog和showModelessDialog有什么不同?  

 showModalDialog:被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。 showModelessDialog:被打开后,用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P)

(二)、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?  在被打开的网页里加上<base target="_self">就可以了。这句话一般是放在<html>和<body>之间的

原文链接:https://blog.csdn.net/weixin_46098577/article/details/130925130

标签:窗口,URL,前端,Response,window,窗体,浏览器,代码,页面
From: https://www.cnblogs.com/Dongmy/p/18036619

相关文章

  • CMS电影站源代码分析
    最近研究了一些CMS的电影站 最近研究了一些CMS,发现很多人都不知道cms的作用,甚至有些人根本不知道cms是什么东西。月亮岛影视今天就给大家介绍一下cms的作用。希望对大家有帮助。二十条在线下面我们一起来看一下。首先我们要了解cms的概念。cms是一个企业网站的基础设施,它可以帮......
  • vue3前端代码
    <template><divclass="login-back"><divclass="login-container"><h2>人口信息管理系统</h2><el-formref="loginFormRef":model="loginForm":rules="loginRule......
  • vite+vue3 打包代码混淆
    产品化最后一道防线,项目上线前打包时,前端代码混淆。和webpack相比,vite生态还是不够丰富,找个打包代码混淆插件好难,好在找到了rollup-plugin-obfuscator不废话,上代码1、安装代码混淆插件rollup-plugin-obfuscatoryarnadd--devrollup-plugin-obfuscatorjavascript-obfuscat......
  • AIO 简单代码示例
    客户端代码packagetest;importjava.net.InetSocketAddress;importjava.nio.ByteBuffer;importjava.nio.channels.AsynchronousSocketChannel;importjava.nio.channels.CompletionHandler;publicclassAIOClient{privatefinalAsynchronousSocketChannelclie......
  • 最新Union注入攻击及代码分析技术
    Union注入攻击Union注入攻击的测试地址在本书第2章。访问该网址时,页面返回的结果如图4-12所示。  图4-12  在URL后添加一个单引号,即可再次访问。如图4-13所示,页面返回的结果与id=1的结果不同。   图4-13  访问id=1and1=1,由于and1=1为真,所以页面应返回......
  • 代码随想录算法训练营第二十九天| 491.递增子序列 46.全排列 47.全排列 II
    491.递增子序列题目链接:491.非递减子序列-力扣(LeetCode)思路:一开始一直报访问异常的错误,最后只好参考官网答案,结果竟然是因为我递归参数写错了导致程序一直出问题???(⊙︿⊙)这里去重用的是标记数组,可以用集合unordered_set,但由于本题数据范围比较小,所以我们可以用数组更加高效的......
  • 优雅使用前端枚举Enum,符合国标的那种!
    01、什么是枚举Enum?枚举Enum是在多种语言中都有的一种数据类型,用于表示一组特定相关的常量数据集合,如性别(男、女)、数据状态(可用、禁用)、垂直对齐(顶端、居中、底部)、星期等。特点是数据值固定,不会变,存储和显示的内容不同。然而在JavaScript中并没有枚举Enum类型,TypeScript算是有......
  • 【机器学习科学库】全md文档笔记:Matplotlib详细使用方法(已分享,附代码)
    本系列文章md笔记(已分享)主要讨论人工智能相关知识。主要内容包括,了解机器学习定义以及应用场景,掌握机器学习基础环境的安装和使用,掌握利用常用的科学计算库对数据进行展示、分析,学会使用jupyternotebook平台完成代码编写运行,应用Matplotlib的基本功能实现图形显示,应用Matplotlib......
  • day42 动态规划part4 代码随想录算法训练营 416. 分割等和子集
    题目:416.分割等和子集我的感悟:有点难,更快的解法用了01True和False所以更快理解难点:转化为背包问题听课笔记:代码示例:我优化了下classSolution:defcanPartition(self,nums:List[int])->bool:ifsum(nums)%2==1:returnFalse......
  • 代码随想录 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.0
    LeetCode:24.两两交换链表中的节点-力扣(LeetCode)思路:第一步:两两交换要考虑循环什么时候退出,当cur指针.next是null是就到尾部了,同理,链表不是奇数就是偶数,cur.next.next是空也是。第二步循环条件判断完了接下来要实现交换,如图所示,按步骤来就好,提前将1,2,3存好,接下来按图......