Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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 Photosweep在新窗口中打开照片_Javascript_Jquery_Html_Ios_Photoswipe - Fatal编程技术网

Javascript Photosweep在新窗口中打开照片

Javascript Photosweep在新窗口中打开照片,javascript,jquery,html,ios,photoswipe,Javascript,Jquery,Html,Ios,Photoswipe,我试图用javascript在一个新窗口中打开当前可见的照片,但它也必须在iPad上工作。 我尝试的是向工具栏添加一个按钮(如示例中所示)。我也在photosweep.css中添加了该按钮的css。我添加了一个javascript函数: function getImgUrl() { var divHead = getElementsByClassName(document, 'ps-carousel-content'); var imgElement = divHead[0].g

我试图用javascript在一个新窗口中打开当前可见的照片,但它也必须在iPad上工作。 我尝试的是向工具栏添加一个按钮(如示例中所示)。我也在photosweep.css中添加了该按钮的css。我添加了一个javascript函数:

function getImgUrl()
{
    var divHead = getElementsByClassName(document, 'ps-carousel-content');
    var imgElement = divHead[0].getElementsByTagName("img");
    var imgUrl = imgElement[1].getAttribute('src');
    window.open(imgUrl.toString())
}
我确实使用了示例中的代码来获得自定义工具栏,但添加了创建按钮的部分:

getToolbar: function(){
    return '<div class="ps-toolbar-close"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-play"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-previous" style="padding-top: 12px;"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-next"><div class="ps-toolbar-content"></div></div><div onclick="javascript: getImgUrl();" class="ps-toolbar-download"><div class="ps-toolbar-content"></div></div>';
}
getToolbar:function(){
返回“”;
}
这在像chrome和safari这样的webkit浏览器中非常有效(照片会在新窗口/选项卡中打开)。但当我在iPad上尝试时,它不起作用。简单的说,当我按下按钮时,什么也没有发生

有人能帮我解决这个问题吗?也许我做错了,所以告诉我,如果采用不同的方法会更好


谢谢

iPad可能会将此脚本屏蔽为“弹出窗口”。请看下面的问题。要确保问题是弹出窗口阻止程序,请转到设置>Safari>“阻止弹出窗口”将其关闭,然后查看它现在是否工作

如果您确定这是弹出窗口阻止程序而不是其他问题,请尝试将打开图像的方式更改为以下方式:

function getImgUrl()
{
    var divHead = getElementsByClassName(document, 'ps-carousel-content');
    var imgElement = divHead[0].getElementsByTagName("img");
    var imgUrl = imgElement[1].getAttribute('src');
    return imgUrl.toString();
}

getToolbar: function(){
    return '<div class="ps-toolbar-close"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-play"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-previous" style="padding-top: 12px;"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-next"><div class="ps-toolbar-content"></div></div><a href="' + getImgUrl() + '" target="_blank" class="ps-toolbar-download"><div class="ps-toolbar-content"></div></a>';
}
函数getImgUrl() { var divHead=getElementsByClassName(文档“ps转盘内容”); var imgElement=divHead[0]。getElementsByTagName(“img”); var imgUrl=imgElement[1].getAttribute('src'); 返回imgUrl.toString(); } getToolbar:函数(){ 返回“”; }
我将您的函数更改为以字符串形式返回图像url,然后将其直接插入
getToolbar
返回字符串。

您是否尝试过使用锚定标记并将target设置为空?