2014-02-10 81 views
1

我似乎记得读的是现代浏览器试图阻止弹出式窗口的地址栏隐藏,但也有解决这个方法..没有地址栏的弹出窗口

目前我使用这个代码:

<script language="javascript"> 
    var popupWindow = null; 
    function centeredPopup(url,winName,w,h,scroll){ 
     LeftPosition = (screen.width) ? (screen.width-w)/2 : 0; 
     TopPosition = (screen.height) ? (screen.height-h)/2 : 0; 
     settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable' 
     popupWindow = window.open(url,winName,settings) 
    } 
</script> 

<img onClick="centeredPopup('test.php','test','400','400','yes');return false" src="test.png"> 

在Safari浏览器中,弹出窗口显示没有地址栏,但在Chrome,IE11和Firefox中显示地址栏。

反正有,这可以与我列出的所有浏览器中的地址栏一起使用,还是可以使用其他代码完成? javascript,jquery,php?

我所追求的只是一个简单的弹出式窗口,它以特定的大小开始,但如果需要可移动,可调整大小和可滚动。

感谢

**更新**

我有这种工作的。该对话框出现滚动条,但我无法滚动。

任何想法?这FIDDLE显示我的意思。

+0

您可以使用https://jqueryui.com/dialog的实施开始于一个特定的大小简单的弹出窗口,是可移动的,可实现的和可滚动.. – Manoj

+0

感谢可以加载一个外部页面,并从图像链接调用? – MacMan

+0

在下面找到您的查询的答案。 – Manoj

回答

-1

你可以做同样的事情:

<a class="test" href="www.somesite.com">Test</a> 
<div id="somediv-wrap"> 
    <div id="somediv"> 

    </div> 
</div> 

<script> 
    $(document).ready(function() { 

     $("#somediv-wrap").dialog({ 
        autoOpen: false, 
        width: 400, 
        height:200, 
        modal: true 
        }); 

     $(".test").click(function(event) 
      { 
       event.preventDefault(); 
       var link = $(this).attr('href'); 

       $("#somediv").load(link,function(){ 
       $("#somediv-wrap").dialog("open"); 
       });       
     }); 
    }); 
</script> 

你创建你的对话框,并在打开时,一个HTML文件从服务器加载,免去您<div id="somediv"></div>的内容,这应该是你的对话框内<div class="somediv-wrap"/>

+0

谢谢 - 对不起,我应该说我想加载的页面是本地的。我试过编辑它,它似乎并不想加载它。我也看到了一个覆盖图显示,我不需要我希望用户能够与页面交互并使弹出窗口可见。谢谢 – MacMan

2

也许我错了,但以防万一:您提供的小提琴已设置滚动到“否”在HTML中。一旦其设置为“是”,其完美的滚动:)

<div id="dialog" style="display:none;" title="Dialog Title"><iframe frameborder="0" scrolling="yes" width="100%" height="100%" src="http://google.about.com/"></iframe></div>