Javascript Jquery,url在<;上的每个函数中保持不变;a>;元素(用户脚本)
所以我有一个问题,我无法从用户脚本中获得使用ajax的页面html代码,因为页面首先只加载页面的一部分,所以从用户脚本执行ajax以获得整个页面html是不可能的。所以我使用了一个不可见的i框架来绕过这个问题。而且效果很好。但是我的url总是保持不变,我不知道为什么,我在一些Javascript Jquery,url在<;上的每个函数中保持不变;a>;元素(用户脚本),javascript,jquery,html,Javascript,Jquery,Html,所以我有一个问题,我无法从用户脚本中获得使用ajax的页面html代码,因为页面首先只加载页面的一部分,所以从用户脚本执行ajax以获得整个页面html是不可能的。所以我使用了一个不可见的i框架来绕过这个问题。而且效果很好。但是我的url总是保持不变,我不知道为什么,我在一些 Senran-Kagura-Estival-VS_2015_07-13-15_005 tmntag.adTag(‘侧面’); 这在第二页。里面的图片。大类是我在主页上点击的图片,它有它的真实大小。img元素中的链接。大类
Senran-Kagura-Estival-VS_2015_07-13-15_005
tmntag.adTag(‘侧面’);
这在第二页。里面的图片。大类是我在主页上点击的图片,它有它的真实大小。img元素中的链接。大类是我必须使用的链接。所有其他图像都只是一些其他图像的小屏幕截图,我不必使用它们
解决方案
好的,最后我设法让它工作,只是为每个链接创建一个不同的iframe
var iFrameContainer = $('<div id="iFrameContainer" style = "display: none">').appendTo('body');
var-iFrameContainer=$('').appendTo('body');
然后在each函数中给它添加一个新的iframe
var iFrame = $('<iFrame>').appendTo(iFrameContainer);
var-iFrame=$('').appendTo(iFrameContainer);
看起来您正在向每个迭代链接添加相同的url。尝试在图像上迭代
看起来您正在向每个迭代链接添加相同的url。尝试对图像进行迭代。您可以尝试使用onload
iFrame.on('load', function() {
iFrame.load(function(){
link = iFrame.contents().find('.big').find('img').attr('src');
that.magnificPopup({
items: {
src: link
},
type: 'image',
closeOnContentClick: true,
mainClass: 'mfp-img-mobile',
image: {
verticalFit: true
}
});
});
});
你可以试试onload
iFrame.on('load', function() {
iFrame.load(function(){
link = iFrame.contents().find('.big').find('img').attr('src');
that.magnificPopup({
items: {
src: link
},
type: 'image',
closeOnContentClick: true,
mainClass: 'mfp-img-mobile',
image: {
verticalFit: true
}
});
});
});
我不明白。什么意思?在iframe上只有一个图像,我每次都会更改iframe的url。因为没有选择不同的图像,所以得到的是相同的SRC。也许有了
这个范围,你就可以实现它。如果你不共享HTML代码,我们就看不到更多了。在iframe上只有一个图像,我每次都会更改iframe的url
为什么会有这种奇怪的行为?您的问题与load()方法是异步的。“你们需要一个延迟的或者一个承诺。”MarcosPérezGude我也这么认为,iframe的异步方法。但我不知道如何在每次加载iframe时生成一个放大弹出函数。因为放大弹出函数在所有图像上都保持不变,如果我没有弄错,或者你制作了一个jsfiddle.com,或者你可以部分调试link
变量。您可以创建console.log(iFrame.contents())
以查看内容是否更改,然后创建console.log(iFrame.contents().find('.big>img'))
查看img节点是否相同。我不明白。你是什么意思?在iframe上只有一个图像,我每次都更改iframe的url。你得到的是相同的SRC,因为你没有选择不同的图像。也许使用这个范围你可以实现它。如果你不共享HTML代码,我们就看不到更多。在iframe上告诉我只有一个图像,我每次都会更改iframe的url
为什么会出现这种奇怪的行为?你的问题是与load()异步方法。你需要一个延迟或承诺。@MarcosPérezGude我也这么认为,iframe的异步方法。但我不知道如何在每次加载iframe时生成一个放大弹出函数。因为放大弹出函数在所有图像上都是一样的,如果我做对了,或者你生成了一个jsfiddle.com,或者你可以调试link
变量在部分中,您可以创建console.log(iFrame.contents())
以查看内容是否更改,然后创建console.log(iFrame.contents().find('.big>img'))
查看img节点是否相同。请为此创建一个JSFIDLE?我们可以在另一个页面上创建一个JSFIDLE吗?您可以为此创建一个JSFIDLE吗?我们可以在另一个页面上创建一个JSFIDLE吗?它不会改变任何东西它不会改变任何东西
var iFrame = $('<iFrame>').appendTo(iFrameContainer);
link = iFrame.contents().find('.big').find('img').attr('src');
iFrame.on('load', function() {
iFrame.load(function(){
link = iFrame.contents().find('.big').find('img').attr('src');
that.magnificPopup({
items: {
src: link
},
type: 'image',
closeOnContentClick: true,
mainClass: 'mfp-img-mobile',
image: {
verticalFit: true
}
});
});
});