2011-08-03 109 views
16

I have an HTML 5 app that runs on mobile devices including the iPad. I want to create a link to a non-HTML file, and have the proper application open to handle the file. The files are .acsm files, to be opened in Bluefire.<a href="url"> and window.location = "url" on iOS?

If I create the link as a simple <a href="url"> tag, it works.

If instead I use Javascript to set the window.location, it doesn't work. The iPad pops an alert that says, "Download failed: This file cannot be downloaded".

I've experimented with other file types, and haven't found anything conclusive. What's the difference between the simple link and the Javascript technique? Can I make the Javascript code do the same thing as the link?

In case the specific Javascript details matter, I do it like this with jQuery:

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

and the HTML looks like:

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

(Note that this is a span with an href, I can change the HTML if that would help.)

+1

您是否尝试过使用'window.open'? – kei

+0

@kei:好主意!不起作用。 :(它与Javascript代码相同:“下载失败” –

+0

如果您制作了加载网址的iFrame,该怎么办?