用html怎么做网站尾部,c2c模式的基本要素不包括( )?,旅游网站图片,企业网站备案 淘宝客1. 最近需要做一个点击表格某一列的标题#xff0c;预览当前文件的一个小功能。本身功能很简单#xff0c;点击该标题#xff0c;预览文件#xff0c;那么拿到他对应的文件地址#xff0c;在浏览器打开就行了。 2. 事实如此#xff0c;使用window.open(url, _blank);就行…1. 最近需要做一个点击表格某一列的标题预览当前文件的一个小功能。本身功能很简单点击该标题预览文件那么拿到他对应的文件地址在浏览器打开就行了。 2. 事实如此使用window.open(url, _blank);就行只要你地址正确那么在浏览器的窗口就打开了一个新的文件注意这里打开的是pdf格式其它格式的需要对应的方法然而问题来了文件是正常打开了但是浏览器窗口的标题确不是我想要的为此设置了半天还是不行。
3.找了半天原因原来是 浏览器 “新窗口的名字是由浏览器根据url 定义的本身无法设置”但是现在有这个需求尝试了很多方法都不行后来发现了window.open 本身有许多内置属性例如
width窗口的宽度
height窗口的高度
top窗口距离屏幕顶部的距离默认0
left窗口距离屏幕左侧的距离默认0
menubar是否显示菜单栏yes\no
toolbar是否显示工具栏yes\no
location是否显示地址栏yes\no
status是否显示状态栏yes\no
resizable是否允许用户调整窗口大小yes\no
scrollbars是否显示滚动条yes\no。
打开一个新窗口本质是打开一个页面那么肯定有 bodydocument 这些元素那么我们直接设置他的title不就行了事实还真可以。
let pages window.open(encodeURI(basePreviewUrl ret.body.viewPath), _blank);// 强行设置标题 新窗口的名字是由浏览器定义的 本身无法设置setTimeout(function(){pages.document.title fileName },3000);//fileName 是名称 open 里面是地址 换成你们自己的
注意这里的定时器如果你要加载的文件时间很长的话不加定时器标题会被浏览器生成的标题覆盖了后面的时间看你们实际需要多长时间。
4. 既然这样可以加上的话那很简单了我们直接往里面扔个iframe进去不就行了把它的宽、高、边框设置为空不就行了具体代码如下 // 强行设置标题 方法openUrl(url, title) { //console.log(url,url,title)// 检查是否已经存在相同URL的窗口,不要重复打开if (vue.flagYu url) {return; }const newWindow window.open(about:blank, title);newWindow.document.title title;let iframe document.createElement(iframe);iframe.src url;iframe.style.width 100%;iframe.style.height 100vh;iframe.style.margin 0;iframe.style.padding 0;iframe.style.overflow hidden;iframe.style.border none;newWindow.document.body.style.margin 0;newWindow.document.body.appendChild(iframe);window.newWindow newWindow;vue.flagYu url;},这里是用vue 封装了一个方法需要的话直接传参数就行了传url和要显示的标题就行。
this.openUrl(,标题)。
结束。。
如果对您有用请点个赞哦ღ( ´ᴗ )比心