0

我一直在尝试在 sencha touch 中编写代码,它有一个按钮,当我点击它时,它应该在新窗口中打开一个网页作为弹出窗口。

  1. Window.open()-我不能使用这个方法,因为它在手机中不能正常工作。虽然我意识到这是打开新浏览器窗口的最简单方法。

  2. document.location.href=url - 此方法在同一
    页面中打开 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/");
                    }
                }
            ]
        });
    }
});
4

5 回答 5

0

嘿@coding 你可以,这是一个 Overlay 是一个类型的弹出窗口,试试这个到处理程序事件中,

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)

请用你的大脑,我不可以做你的功课。我希望这有帮助。:) 再见在此处输入图像描述

于 2012-06-15T14:28:54.927 回答
0

请尝试以下代码:

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);
}
于 2012-06-15T04:01:32.293 回答
0

我不确切知道如何在 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

于 2012-06-15T04:23:50.890 回答
0

在您的处理程序中使用 window.open() ,如下所述:

handler: function() { 
    window.open("http://www.google.com/", "_blank"); 
}
于 2021-01-13T12:23:43.187 回答
-1

在您的工作页面中创建一个弹出窗口(一个简单的窗口)并将其可见性设置为 false .. 当您单击按钮时,将其可见性更改为 true 并将焦点移至它.. 您也可以在该弹出窗口中打开任何内容窗户..

或者你可以使用这个 jQuery 代码

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

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

于 2012-06-15T04:45:59.240 回答