Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 打开外部页面的JavaScript弹出窗口_Php_Javascript_Jquery_Html_Jquery Plugins - Fatal编程技术网

Php 打开外部页面的JavaScript弹出窗口

Php 打开外部页面的JavaScript弹出窗口,php,javascript,jquery,html,jquery-plugins,Php,Javascript,Jquery,Html,Jquery Plugins,我正在努力实现一个功能,用一个外部链接打开一个新窗口。我正在创建动态内容,希望编写一个函数,用给定的链接打开一个弹出窗口。请帮忙。我喜欢jquery对话框和lightwindo等,但我无法实现其中任何一个,任何帮助都将是gerat,我被这个假定的小问题困住并感到沮丧。到目前为止,没有任何选择对em有效。这里是我如何显示我的结果的代码,以及我认为我必须如何调用函数来打开一个新窗口。因此,这里的第二个函数是我需要一些帮助的函数,它可以打开一个很好的弹出窗口来显示信息 // -------------

我正在努力实现一个功能,用一个外部链接打开一个新窗口。我正在创建动态内容,希望编写一个函数,用给定的链接打开一个弹出窗口。请帮忙。我喜欢jquery对话框和lightwindo等,但我无法实现其中任何一个,任何帮助都将是gerat,我被这个假定的小问题困住并感到沮丧。到目前为止,没有任何选择对em有效。这里是我如何显示我的结果的代码,以及我认为我必须如何调用函数来打开一个新窗口。因此,这里的第二个函数是我需要一些帮助的函数,它可以打开一个很好的弹出窗口来显示信息

// --------------------- display the course results -> structuring the returned array, to output all information into a table ----------------------
function displayCourses()
{

    var str = ' <table border="0" width="530">' +
                '<tr>' +
                    '<td width="150">Title / course code</td>' +
                    '<td>INFO</td>' +
                '</tr>';

    if(curCourseList == null)
    {
        str = str + '<tr><td colspan="2"><div id="msgDips"></div></td></tr>';
    }
    else
    {
        for (var i = 0; i < curCourseList.length; i++)
        {
            str = str + '<tr><td valign="top" width="150"><a style="cursor:pointer;" onclick="showCourse(\''+curCourseList[i][0]+'\')" >' + curCourseList[i][0] + ' <br /> </a>' + curCourseList[i][1] +'<br>'+ curCourseList[i][3] +'<br /><br />'+ curCourseList[i][4] +'</td><td>' + curCourseList[i][2] +'</td></tr>';
        }
    }

    str = str + '</table>';

    document.getElementById("courseContainer").innerHTML = str;
    if(curCourseList == null)
    {
        getLangToken('99');
    }

}    
function showCourse(code)
{
    //alert(1)
    $.ajax({
        async:false,
        type: "POST",
        url: 'formPostsUser.php?reqtype=getCourse',
        data:'coursecode='+ code,
        success: function(data) 
        {
            newwindow=window.open(url,'name','height=200,width=150');
    if (window.focus) {newwindow.focus()}
    return false;
        }
    });
}
/--------------显示课程结果->构造返回的数组,将所有信息输出到表中----------------------
函数显示课程()
{
var str=''+
'' +
“标题/课程代码”+
“信息”+
'';
if(curCourseList==null)
{
str=str+'';
}
其他的
{
对于(var i=0;i'+curCourseList[i][1]+'
'+curCourseList[i][3]+'

'+curCourseList[i][4]+'+curCourseList[i][2]+'; } } str=str+''; document.getElementById(“courseContainer”).innerHTML=str; if(curCourseList==null) { getLangToken('99'); } } 功能展示课程(代码) { //警报(1) $.ajax({ async:false, 类型:“POST”, url:'formPostsUser.php?reqtype=getCourse', 数据:'coursecode='+代码, 成功:功能(数据) { newwindow=window.open(url,'name','height=200,width=150'); if(window.focus){newwindow.focus()} 返回false; } }); }
说真的,任何帮助都将是非常宝贵的。我的处境真是糟透了

编辑------------------


这是一个窗口。打开位我想替换为打开一个漂亮的弹出窗口,而不是新的浏览器窗口或页面。如果您通过用户交互以外的任何方式触发窗口打开,它很可能会被阻止。您是否检查了与此相关的通知?

如果您通过我们以外的任何方式触发窗口打开er交互它很可能会被阻止。您检查过与此相关的通知吗?

如果您不想使用真正的弹出窗口,您可以尝试创建一个
,它会在页面上方“悬停”如下内容

.hoverwindow {
     position:absolute; 
     width: ...px; 
     height:...px; 
     margin:auto;
     z-index:10; /*ensure that it's displayed on top*/
}
您只需对函数进行一点修改即可完成此操作:

function showCourse(code)
{

$.ajax({
    async:false,
    type: "POST",
    url: 'formPostsUser.php?reqtype=getCourse',
    data:'coursecode='+ code,
    success: function(data) 
    {
        var newwindow = $('<div class="hoverwindow" />');
        newwindow.html(data).appendTo('body');
    }
});
}
功能展示课程(代码)
{
$.ajax({
async:false,
类型:“POST”,
url:'formPostsUser.php?reqtype=getCourse',
数据:'coursecode='+代码,
成功:功能(数据)
{
var newwindow=$('');
html(data.appendTo('body');
}
});
}

尽管坦率地说,这和“弹出窗口”的插件差不多这样做如果你搜索的话,所有这些都应该可以在网上找到。因此,我没有费心去实际尝试和测试这段代码——这只是为了让你知道你可以做什么。

如果你不想使用真正的弹出窗口,你可以尝试创建一个
,它在页面上方用类似

.hoverwindow {
     position:absolute; 
     width: ...px; 
     height:...px; 
     margin:auto;
     z-index:10; /*ensure that it's displayed on top*/
}
您只需对函数进行一点修改即可完成此操作:

function showCourse(code)
{

$.ajax({
    async:false,
    type: "POST",
    url: 'formPostsUser.php?reqtype=getCourse',
    data:'coursecode='+ code,
    success: function(data) 
    {
        var newwindow = $('<div class="hoverwindow" />');
        newwindow.html(data).appendTo('body');
    }
});
}
功能展示课程(代码)
{
$.ajax({
async:false,
类型:“POST”,
url:'formPostsUser.php?reqtype=getCourse',
数据:'coursecode='+代码,
成功:功能(数据)
{
var newwindow=$('');
html(data.appendTo('body');
}
});
}

尽管坦率地说,这和“弹出窗口”的插件差不多这样做如果你搜索它,所有这些都应该可以在网上找到。因此,我没有费心实际尝试和测试这段代码——这只是为了让你知道你能做些什么。

我不知道你为什么说对话框不起作用,或者特别是如果jQuery UI对话框对你不起作用,但以防万一:

$(function() {
    $("<div id='helpDialog' style='display:none' />").appendTo(document);
    $("#helpDialog").dialog({
        autoOpen: false
    });
    $("#helpDialog").dialog('option', 'buttons', {
        "Close": function() {
            $(this).dialog("close");
        }
    })
});

function helpPopUp(page, height, width) {
    $("#helpDialog").dialog('option', 'height', height);
    $("#helpDialog").dialog('option', 'width', width);
    $('#helpDialog').load(page);
    $('#helpDialog').dialog("open");
}
helpPopUp('#helpDialog', 'Help/Summary.html', 550, 750);
$(函数(){
$(“”)。附件(文件);
$(“#帮助对话框”).dialog({
自动打开:错误
});
$(“#帮助对话框”)。对话框('选项','按钮'{
“关闭”:函数(){
$(此).dialog(“关闭”);
}
})
});
功能帮助弹出窗口(页面、高度、宽度){
$(“#helpDialog”).dialog('option','height',height);
$(“#helpDialog”).dialog('option','width',width);
$('helpDialog')。加载(第页);
$('helpDialog')。对话框(“打开”);
}
helpPopUp(“#helpDialog”,“Help/Summary.html”,550750);
当然,如果需要引用url中的页面,您可以将
.load(page)
修改为自定义


下面是上面的一个简单示例,其中有一个轻微的修改来加载您的表而不是页面:

我不知道您为什么说对话框不起作用,或者特别是如果jQuery UI对话框对您不起作用,但以防万一:

$(function() {
    $("<div id='helpDialog' style='display:none' />").appendTo(document);
    $("#helpDialog").dialog({
        autoOpen: false
    });
    $("#helpDialog").dialog('option', 'buttons', {
        "Close": function() {
            $(this).dialog("close");
        }
    })
});

function helpPopUp(page, height, width) {
    $("#helpDialog").dialog('option', 'height', height);
    $("#helpDialog").dialog('option', 'width', width);
    $('#helpDialog').load(page);
    $('#helpDialog').dialog("open");
}
helpPopUp('#helpDialog', 'Help/Summary.html', 550, 750);
$(函数(){
$(“”)。附件(文件);
$(“#帮助对话框”).dialog({
自动打开:错误
});
$(“#帮助对话框”)。对话框('选项','按钮'{
“关闭”:函数(){
$(此).dialog(“关闭”);
}
})
});
功能帮助弹出窗口(页面、高度、宽度){
$(“#helpDialog”).dialog('option','height',height);
$(“#helpDialog”).dialog('option','width',width);
$('helpDialog')。加载(第页);
$('helpDialog')。对话框(“打开”);
}
helpPopUp(“#helpDialog”,“Help/Summary.html”,550750);
当然,如果需要引用url中的页面,您可以将
.load(page)
修改为自定义


下面是上面的一个简单示例,其中有一个轻微的修改来加载您的表而不是页面:

如果您在适当的弹出窗口中打开它,您不需要ajax或类似的东西。只需将url正确地放在一起,就像
var url='1'一样http://example.com“
并调用
var newwindow=wind