我似乎记得读过现代浏览器试图阻止隐藏弹出窗口的地址栏,但是有很多方法可以解决这个问题。
目前我正在使用此代码:
<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 :(得分:2)
也许我错了,但为了以防万一:你提供的小提琴在html中将滚动设置为“no”。一旦设置为“是”,其滚动完美:)
<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>
答案 1 :(得分:-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"/>
内。