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

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

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

  1. Window.open()-我不能用这个方法,因为它在手机上不太好用。虽然我知道这是打开新浏览器窗口最简单的方法。
  2. document.location.href=url -此方法在相同的
    页面,但我希望它在新窗口中以弹出窗口的形式打开。
    当用户点击一个按钮时,有没有其他方法可以在新窗口中打开一个页面?下面是我的代码
  1. Ext.application({
  2. name: 'Opening new page',
  3. launch: function() {
  4. Ext.create("Ext.tab.Panel", {
  5. fullscreen: false,
  6. items: [
  7. {
  8. xtype: 'button',
  9. text: 'click to open google',
  10. ui: 'confirm',
  11. handler: function() {
  12. document.location.href=("http://www.google.com/");
  13. }
  14. }
  15. ]
  16. });
  17. }
  18. });
jogvjijk

jogvjijk1#

请尝试此代码:

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

2j4z5cfb2#

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

  1. $('button').bind('click',function(e){
  2. var $me = $(this);
  3. e.preventDefault();
  4. e.stopPropagation();
  5. $('<a />')
  6. .attr('href', $me.data('href'))
  7. .attr('target', '_blank')
  8. .css({display:'none'})
  9. .appendTo($('body'))
  10. .get(0).click();
  11. });

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

30byixjq

30byixjq3#

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

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

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

vlf7wbxs

vlf7wbxs4#

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

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

woobm2wo5#

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

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

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

相关问题