Javascript 是否为多选列表中的每个选定元素打开新窗口?
我试图根据多选列表中的选定项打开新窗口,但没有结果,它只打开一个窗口,始终是第一个选定窗口,即使有两个或更多 以下是我目前掌握的代码:Javascript 是否为多选列表中的每个选定元素打开新窗口?,javascript,sapui5,Javascript,Sapui5,我试图根据多选列表中的选定项打开新窗口,但没有结果,它只打开一个窗口,始终是第一个选定窗口,即使有两个或更多 以下是我目前掌握的代码: var oModelPrint = new sap.ui.model.json.JSONModel(docImprimir); var oList = new List({ mode: 'MultiSelect', items: { path: '/Items', t
var oModelPrint = new sap.ui.model.json.JSONModel(docImprimir);
var oList = new List({
mode: 'MultiSelect',
items: {
path: '/Items',
template: new sap.m.StandardListItem({
title: '{text}',
selected: '{selected}'
})
}
});
oList.setModel(oModelPrint);
var dialog = new sap.m.Dialog({
title: 'Imprimir Documento',
type: 'Message',
content: [
oList
],
beginButton: new Button({
text: 'Imprimir',
press: function(oEvent) {
var valorItemSelected = oList.getSelectedItem();
var numItems = oList.getSelectedItems().length;
var oObject = valorItemSelected.getBindingContext().getObject();
var key = oObject.key;
var navigationService = sap.ushell.Container.getService('CrossApplicationNavigation');
var i = 1;
//Here is where i have the issue
for (i = i; i <= numItems; i++) {
var hash = navigationService.hrefForExternal({
target: {
semanticObject: 'zrefiopdf01Sem',
action: 'display'
},
params: {
DocNumber: document,
Formtype: key
}
});
var url = window.location.href.split('#')[0] + hash;
sap.m.URLHelper.redirect(url, true);
}
var-oModelPrint=new sap.ui.model.json.JSONModel(docImprimir);
var oList=新列表({
模式:“MultiSelect”,
项目:{
路径:'/Items',
模板:新sap.m.StandardListItem({
标题:“{text}”,
选定:“{selected}”
})
}
});
oList.setModel(oModelPrint);
var dialog=新建sap.m.dialog({
标题:“临时文件”,
键入:“消息”,
内容:[
寡头
],
beginButton:新按钮({
文本:'Imprimir',
按:功能(oEvent){
var valorItemSelected=oList.getSelectedItem();
var numItems=oList.getSelectedItems().length;
var oObject=valorItemSelected.getBindingContext().getObject();
var key=oObject.key;
var navigationService=sap.ushell.Container.getService('CrossApplicationNavigation');
var i=1;
//这就是我的问题所在
对于(i=i;i使用window.open(*url*)
下面的演示一般都可以使用,但这里没有,因为它是沙盒式的StackOverflow
让btn=document.getElementById(“btn”);
btn.addEventListener(“点击”,函数(e){
设g=document.getElementById(“google”),b=document.getElementById(“bing”);
如果(g.选中)窗口。打开(“http://www.google.com/");
如果(b.选中)窗口。打开(“http://www.bing.com/");
});
打开
您需要为您的站点禁用浏览器的弹出窗口阻止程序(并要求您的用户也这样做)
大多数现代浏览器的弹出窗口拦截器(包括Chrome内置的拦截器)都是基于“一次点击,一个窗口”工作的。脚本只允许在处理用户输入时打开窗口(例如,在运行onclick
处理程序时),并且在给定的事件处理程序中只允许打开一个窗口。您的脚本违反了此规则,并且在第一个窗口之后的每个窗口都被阻止。是的,无论如何,这就是为了避免此问题吗?某种停用用户弹出窗口阻止程序的方法?有解决方法吗?没有。想想如果您可以关闭此选项,会有多大的干扰和荒谬最终用户弹出窗口拦截器。您应该建议弹出窗口拦截器会影响功能,并让用户最终选择是否满意。是否有任何方法跳过此操作?是--要求用户为您的站点禁用弹出窗口拦截器。正确的方法是什么?是否有默认方法或者这个,或者我可以创建我的?通过向用户解释他们需要做什么,以及为什么。网站无法自行禁用弹出窗口阻止程序。