我正在自动化一个正在打开另一个模型弹出浏览器的Web应用程序。但控件仍然在第一个浏览器中。我想将控件切换到最近打开的弹出窗口。请告诉我如何通过使用Vb脚本来完成它?
答案 0 :(得分:0)
在vbscript中你可以简单地把
response.write("<script>window.showModalDialog('showWindow.asp?param=1¶mba=2&etc...',labelToClick.labelValue);</script>")
只需要确保在页面加载时它会被重新加载。 或者您可以像这样使用JS openModal窗口
function openModalWindowWithAllText(){
window.showModalDialog("showWindow.asp?param=1¶mba=2&etc...",labelToClick.labelValue);
}
并在body onload上调用它。
问题是某些浏览器制造商已经声明showModalDialog已经过折旧。
另一方面,你可以使用showModelessDialog,它不是折旧和主要区别,你可以在它和父窗口之间来回移动焦点,直到它停留在父窗口的顶部,直到弹出窗口关闭。
最好的方法,如果你要使用模态窗口,将使用AJAX,第三个选项是一个简单的JS函数setFocus 像这样:
function SetFocus(fieldId)
{
document.getElementById(fieldId).focus();
}
并在“body onload ='SetFocus(Fieldsid);'”新事件的事件上调用此函数。据我所知,所有浏览器都支持此功能。 Fieldsid可以是新页面上的任何内容,也可以是现有元素的硬编码id,可以指向焦点,如文本字段,下拉列表等。
但是,如果本地计算机(或网络)上的用户有阻止弹出窗口的策略,则唯一的选择是模式窗口。