extjs 在新窗口中打开网页的工作方法?

mitkmikd  于 2022-11-05  发布在  其他
关注(0)|答案(5)|浏览(337)

我一直在尝试写一个代码在 Sencha 触摸,其中有一个按钮,当我点击,它应该打开一个网页作为一个弹出在一个新的窗口。

  1. Window.open()-我不能用这个方法,因为它在手机上不太好用。虽然我知道这是打开新浏览器窗口最简单的方法。
  2. document.location.href=url -此方法在相同的
    页面,但我希望它在新窗口中以弹出窗口的形式打开。
    当用户点击一个按钮时,有没有其他方法可以在新窗口中打开一个页面?下面是我的代码
Ext.application({
    name: 'Opening new page',

    launch: function() {
        Ext.create("Ext.tab.Panel", {
            fullscreen: false,
            items: [
                {
                    xtype: 'button',
                    text: 'click to open google',
                    ui: 'confirm',
                    handler: function() {
                        document.location.href=("http://www.google.com/");
                    }
                }
            ]
        });
    }
});
jogvjijk

jogvjijk1#

请尝试此代码:

handler: function() {
  var link = Ext.getDom('hidden_link');
  link.href = 'http://www.google.com'/;
  var clickevent = document.createEvent('Event');
  clickevent.initEvent('click', true, false);
  link.dispatchEvent(clickevent);
}
2j4z5cfb

2j4z5cfb2#

我不知道在Ext.js中具体如何操作,但我基本上是沿着与@bunlong-van相同的思路来思考的。创建一个指向新窗口的锚标记,将其添加到页面,然后单击它。
下面是在jQuery中可以实现的方法:

$('button').bind('click',function(e){
      var $me = $(this);
      e.preventDefault();
      e.stopPropagation();
      $('<a />')
        .attr('href', $me.data('href'))
        .attr('target', '_blank')
        .css({display:'none'})
        .appendTo($('body'))
        .get(0).click();
  });

完整样品:http://jsbin.com/adakur/edit

30byixjq

30byixjq3#

嘿@编码你可以认为是一个Overlay是一个类型的弹出窗口,尝试将此导入handler事件,

var overlay = new Ext.Panel({
    floating : true,
    modal : true,
    centered : true,
    width : 500,
    height : 500,
    styleHtmlContent : true,
    html: '<div><iframe style="width:100%;height:100%;" src="http://www.sencha.com/products/touch">Your device does not support iframes.</iframe></div>',
}).show('pop', true)

请用用你的大脑,我不我可以做你的家庭作业。我希望这有帮助。:)再见x1c 0d1x

vlf7wbxs

vlf7wbxs4#

在window.open处理程序中使用www.example.com(),如下所述:

handler: function() { 
    window.open("http://www.google.com/", "_blank"); 
}
woobm2wo

woobm2wo5#

在您的工作页面中创建一个弹出窗口(一个简单的窗口),并将其可见性设置为false。.当您单击按钮时,将其可见性更改为true,并将焦点放在它上面。.
或者您可以使用以下jQuery代码

$(document).ready(function() { tb_show(title, "testpage.aspx?id=" + url + "&TB_iframe=true&width=700&height=600", null); });

在这里你可以传递你想要的参数。这将作为一个新的弹出窗口打开。

相关问题