jquery – 与iOS上的window.location =“url”有什么区别?

前端之家收集整理的这篇文章主要介绍了jquery – 与iOS上的window.location =“url”有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个运行在移动设备上的HTML 5应用程序,包括iPad。我想创建一个非HTML文件链接,并打开适当的应用程序来处理该文件。这些文件是.acsm文件,要在Bluefire中打开。

如果我将链接创建为简单的< a href =“url”>标签,它的作品。

如果我使用Javascript来设置window.location,它不起作用。 iPad弹出一个提示:“下载失败:无法下载此文件”。

我已经尝试过其他文件类型,还没有找到任何结论。简单的链接和Javascript技术有什么区别?我可以使Javascript代码链接做同样的事情吗?

如果具体的Javascript细节很重要,我用jQuery这样做:

$('.native-launch').live('click',function (evobj) {
  var there = $(evobj.target).attr('href');
  window.location.href = there;
  return false;
});

并且HTML看起来像:

<span class="catalog-list-button native-launch" href="url">Read in another app</span>

(请注意,这是一个带有href的跨度,如果有帮助,我可以更改HTML。)

解决方法

尝试window.open,传入“_self”作为目标窗口名称
window.open(there,"_self");

使用“_self”是这里的关键部分,否则弹出窗口拦截器会拦截它。我会测试这个,但是我没有链接到acsm文件

编辑:另外两个想法:

使用“GET”的方法和acsm文件的操作将表单添加到您的页面。排除表单域,除非它们适当地映射到您的URL。

<form id="acsm" method="GET" action="http://myserver.com/myfile.acsm"></form>

然后用form.submit()提交表单:

document.forms.acsm.submit();

另一个想法:在您的服务器上创建一个服务器端重定向到您的acsm文件页面。然后只需使用通常的location.href = url到该服务器页面

原文链接:https://www.f2er.com/jquery/181876.html

猜你在找的jQuery相关文章