js弹出窗口的命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js弹出窗口的命令相关的知识,希望对你有一定的参考价值。

求js弹出窗口的命令。如window.open(),这样的命令要怎么操作,具体参数有哪些,得怎么样写。不详细的请不要回答,谢谢。

1、window.open(pageURL,name,parameters)
pageURL 为弹出窗口路径;
name 为弹出窗口名称,也可以是系统自带的比如:_self, _blank,_top,_parent ... ;
parameters 为窗口参数(各参数用逗号分隔) ;
各项参数
其中yes/no也可使用1/0,pixel value为具体的数值,单位象素。
参数 取值范围 说明
alwaysLowered yes/no 指定窗口隐藏在所有窗口之后
alwaysRaised yes/no 指定窗口悬浮在所有窗口之上
depended yes/no 是否和父窗口同时关闭
directories yes/no Nav2和3的目录栏是否可见
height pixel value 窗口高度
hotkeys yes/no 在没菜单栏的窗口中设安全退出热键
innerHeight pixel value 窗口中文档的像素高度
innerWidth pixel value 窗口中文档的像素宽度
location yes/no 位置栏是否可见
menubar yes/no 菜单栏是否可见
outerHeight pixel value 设定窗口(包括装饰边框)的像素高度
outerWidth pixel value 设定窗口(包括装饰边框)的像素宽度
resizable yes/no 窗口大小是否可调整
screenX pixel value 窗口距屏幕左边界的像素长度
screenY pixel value 窗口距屏幕上边界的像素长度
scrollbars yes/no 窗口是否可有滚动栏
titlebar yes/no 窗口题目栏是否可见
toolbar yes/no 窗口工具栏是否可见
Width pixel value 窗口的像素宽度
z-look yes/no 窗口被激活后是否浮在其它窗口之上
常用示例:
window.open ('page.html', 'newwindow', 'fullscreen'); //全屏
window.open ('page.html', '_self', 'fullscreen = yes , height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no,resizable=no,location=no, status=no'); // 在当前页面弹出一个全屏的窗口,并有详细的设置
popWin = window.open('test.jsp'); // 获取弹出窗口对象,以便进行操作
popWin .focus(); // 聚焦窗口2、window.alert()参数,只有一个,显示警告框的信息;无返回值。
3、window.confirm() 参数就只有一个。显示提示框的信息。按确定,返回true;按取消返回false。
4、window.prompt()参数,有两个,第一个参数,显示提示输入框的信息。第二个参数,用于显示输入框的默认值。返回,用户输入的值。
5、window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。
showModalDialog()与showModelessDialog()的区别,在于showModalDialog()打开的窗口,置在父窗口上,必须关闭才能访问父窗口;showModelessDialog(),打开后不必关闭也可访问父窗口打开的窗口。使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]);
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures]);
参数说明:
sURL--
必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
vArguments--
可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
sFeatures--
可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号隔开。
1.dialogHeight :对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
2.dialogWidth: 对话框宽度。
3.dialogLeft: 离屏幕左的距离。
4.dialogTop: 离屏幕上的距离。
5.center: yes no 1 0 :窗口是否居中,默认yes,但仍可以指定高度和宽度。
6.help: yes no 1 0 :是否显示帮助按钮,默认yes。
7.resizable: yes no 1 0 [IE5+]:是否可被改变大小。默认no。
8.status: yes no 1 0 [IE5+]:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。
9.scroll: yes no 1 0 on off :指明对话框是否显示滚动条。默认为yes。 参数传递:
要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如:
调用页面
<script>
var obj = new Object();
obj.name="LOVEJS";
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
</script>
对话框页面
<script>
var obj = window.dialogArguments ;
alert("您传递的参数为:" + obj.name)
</script> 获取对象:
可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:
调用页面
<script>
str = window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
alert(str);
</script>
对话框页面
<script>
window.returnValue="在这里进行你要的操作";
</script>
参考技术A 1直接提示只有确定功能的提示框 只显示提示信息 alert(“提示信息”);
alert ();的参数只有一个就是提示信息,无返回值

2 弹出输入框让你输入内容 prompt() ;

有两个参数:第一个显示提示信息,第二个显示输入框的默认值

3有确定和取消功能的函数 comfirm(“提示信息”);
就一个参数即提示信息 有返回值 true或false
用法为如下
在js中:
function IsSure()
var
mes=confirm("您确定要**吗?");

if(mes==true) do
sth;
else do
otherthings;



<input id="shanchu"type="button" value="删 除"
onclick="IsSure();"/>

4 弹出新的提示页面的函数 window.open("page.aspx");
参数如下:
可以通过设置参数来设置此页面的大小
window.open 弹出新窗口的命令;
'page.aspxs弹出窗口的文件名;
'newwindow'
弹出窗口的名字(不是文件名),非必须,可用空''代替;
height=100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no
是否显示工具栏,yes为显示;
menubar,scrollbars
表示菜单栏和滚动栏。
resizable=no
是否允许改变窗口大小,yes为允许;
location=no
是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
例如:window.open ("page.aspx", "newwindow", "height=100, width=400,
toolbar =no, menubar=no,
scrollbars=no, resizable=no, location=no, status=no");
参考技术B 弹出窗口的命令格式:“window.open(‘URLStr’, ‘WindowName’, ‘Property’);”,其中:1.window.open命令用于在网页上弹出一个新窗口。2.URLStr:弹出窗口所显示的页面3.WindowName:弹出窗口的名称,可以任意指定,也可以用’’来代替4.Property:用于控制弹出窗口显示的属性,具体可控制的参数有:5.Toolbar:是否显示浏览器工具栏,yes为显示,no为不显示6.locetion:是否显示游览器地址栏,yes为显示,no为不显示7.Directories:是否显示目录按钮,yes为显示,no为不显示8.Status:是否显示状态栏,yes为显示,no为不显示9.Menubar:是否显示菜单条,yes为显示,no为不显示10.Scrollbar:是否激活水平和垂直流动条,yes为显示,no为不显示11.Resizable:是否可以改变窗口大小,yes为显示,no为不显示12.Width:指定窗口的宽度,以像素为单位13.Height:指定窗口的高度,以像素为单位14.Left:指定窗口距屏幕左端的距离,以像素为单位15.Top:指定窗口距屏幕顶端的距离,以像素为单位16.screenX:等同于Left属性17.screenY:等同于Top属性

尝试使用 Codeception 和 Yii2 接受本机 js 弹出窗口时出错

【中文标题】尝试使用 Codeception 和 Yii2 接受本机 js 弹出窗口时出错【英文标题】:Error when trying to accept a native js popup with Codeception and Yii2 【发布时间】:2015-06-28 05:59:46 【问题描述】:

我正在尝试关闭 Yii2 生成的确认 js 弹出窗口,以确认删除记录,在本例中为用户,使用 Codeception 和他的。

以下是错误:

[WebDriverException] 远程响应的 JSON 解码失败。 错误代码:4 响应:'无效的命令方法 - 请求 => "headers":"Accept":"application/json","Content-Length":"0","Content-Type":"application/json;charset= UTF-8","Host":"127.0.0.1:4444","httpVersion":"1.1","method":"GET","url":"/alert_text","urlParsed":"anchor ":"","query":"","file":"alert_text","directory":"/","path":"/alert_text","re​​lative":"/alert_text","port": "","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":" /alert_text","queryKey":,"chunks":["alert_text"],"urlOriginal":"/session/cac855f0-e7f8-11e4-ae75-8baa74cf41b1/alert_text"'

下面是我的代码:

<?php 
$username = 'foobar';
$email = 'foo@bar.com';

$I = new AcceptanceTester($scenario);
$I->wantTo('Check that users can update their passwords');

$I->haveInDatabase('user', array('username' => $username, 'email' => $email));
$id = $I->grabFromDatabase('user', 'id', array('username' => $username, 'email' => $email));

$I->amOnPage("/backend/web/index.php/user/$id");
$I->see('Borrar');
$I->click('Borrar');

$I->wait(3);
## This line throws the error
$I->seeInPopup('eliminar este usuario');
## Trying to change to the popup. This doesn't throw any error
$I->executeInSelenium(function (Webdriver $webdriver) 
   $handles=$webdriver->getWindowHandles();
   $last_window = end($handles);
   $webdriver->switchTo()->window($last_window);
);
$I->pressKey('body', \WebDriverKeys::ENTER);
## This throwed the error before
$I->acceptPopup();
$I->wait(1);

$I->seeInCurrentUrl('user/list');
$I->dontSeeInDatabase('user', array('username' => $username, 'email' => $email));

【问题讨论】:

【参考方案1】:

据我所知,下面的代码告诉 Codeception 完全改变浏览器窗口。我实际上只是用这个确切的代码块编写了一个测试来更改浏览器窗口。也许尝试删除它或评论它并尝试再次运行测试?就我所见,弹出部分看起来还不错

$I->executeInSelenium(function (Webdriver $webdriver) 
    $handles=$webdriver->getWindowHandles();
    $last_window = end($handles);
    $webdriver->switchTo()->window($last_window);
);

【讨论】:

以上是关于js弹出窗口的命令的主要内容,如果未能解决你的问题,请参考以下文章

提问:js如何弹出子窗口并父窗口不能操作

尝试使用 Codeception 和 Yii2 接受本机 js 弹出窗口时出错

js如何实现关闭js弹出层的窗口

自定义警报/弹出窗口并持有 JS 引擎

帆软自带方法弹出窗口 和 js原生弹出div窗口

passport.js 使用sails.js 验证弹出窗口