Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
Javascript Ajax/放大弹出窗口在弹出窗口中切换内容_Javascript_Ajax_Wordpress_Magnific Popup - Fatal编程技术网

Javascript Ajax/放大弹出窗口在弹出窗口中切换内容

Javascript Ajax/放大弹出窗口在弹出窗口中切换内容,javascript,ajax,wordpress,magnific-popup,Javascript,Ajax,Wordpress,Magnific Popup,我对放大弹出窗口和它的AJAX有困难。如果链接也是一个弹出窗口,我想简单地切换弹出窗口的内容。这在默认情况下应该是可行的,但不知怎么的,它不起作用 JavaScript: $('.magnific').magnificPopup({ type: 'ajax', ajax: { settings: null, cursor: 'mfp-ajax-cur', tError: '<a href="%url%">The content</a>

我对放大弹出窗口和它的AJAX有困难。如果链接也是一个弹出窗口,我想简单地切换弹出窗口的内容。这在默认情况下应该是可行的,但不知怎么的,它不起作用

JavaScript

$('.magnific').magnificPopup({
   type: 'ajax',
   ajax: {
    settings: null, 
    cursor: 'mfp-ajax-cur',
    tError: '<a href="%url%">The content</a> could not be loaded.'
   },
   closeOnContentClick: false,
   closeOnBgClick: true,
   showCloseBtn: false,
   mainClass: 'mfp-fade',
   callbacks: {
     parseAjax: function(mfpResponse) {
            mfpResponse.data = $(mfpResponse.data).find('.overlay');
            console.log('Ajax content loaded:', mfpResponse);
     },
     ajaxContentAdded: function() {
        console.log(this.content);
     }
  }
});
$('.magnific').magnific弹出窗口({
键入:“ajax”,
阿贾克斯:{
设置:空,
光标:“mfp ajax cur”,
恐怖:“无法加载。”
},
closeOnContentClick:false,
closeOnBgClick:true,
showCloseBtn:false,
mainClass:“mfp淡入”,
回调:{
parseAjax:函数(mfpreponse){
mfpResponse.data=$(mfpResponse.data).find('.overlay');
log('Ajax内容加载:',mfpResponse);
},
ajaxContentAdded:function(){
console.log(this.content);
}
}
});
这与标准站点上的链接一起工作。但是如果弹出窗口中有链接,它只执行该链接,忽略放大的弹出窗口

我最好的猜测是,它无法启动自己,因为它找不到选择器(例如,如果您使用
。单击
,而不是
。'on('click'…)
),但我似乎无法自己找到它

任何帮助都是非常有用的!感谢

编辑:好的,我已确定问题所在。在弹出窗口的限制范围内,functions.js中的代码似乎根本不可用。有没有办法使.js文件在弹出窗口中可用?我让它工作的唯一方法是在每个有放大链接的文件中包含.js文件。。。但那看起来真的很脏。我应该用ajax回调加载它,还是有其他方法

致以最良好的祝愿,
G

对于JavaScript或CSS,您需要将
放在弹出窗口中,否则它将不可用。你说:“如果链接也是一个弹出窗口”是什么意思?我的解决方案是在AJAX
:success
回调中加载脚本,使用
$.getScript(“”)我遇到的问题是一个标准的JQuery/AJAX“特性”。在处理AJAX调用时,它们不会加载
标记,因为它们显然是想阻止您加载dobule。我对这个“功能”的问题是,他们没有给你一个选项来启用/禁用它,并强迫你做一些你不想做的事情。