仅检测 iPad(或 iOS)的单个 href 更改

发布于 2025-01-03 15:00:19 字数 617 浏览 2 评论 0原文

我搜索了很多帖子,发现了很多可以将 iOS 设备重定向到不同页面的脚本。但我不想更改整个页面,只想更改一个链接。

整个网站 (www.example.com) 在 iOS 设备上运行良好,并且包含一个指向基于 Flash 的应用程序页面的链接(在另一台主机上 - app.example.com)。此特定应用程序有一个可在 iPad 上使用的 iOS 版本。单击链接时,我只是希望将计算机用户发送到 flash 应用程序页面,将 iPad 用户发送到告诉他们有关 iOS 应用程序的页面(位于 www.)。

我设想这样的事情:

如果用户使用 iPad,则在 head 中使用 iOS 检测脚本将“isiPad”变量设置为“true”。然后在主体中的功能如下:

if 'isiPad'=true, then

<a href="http://www.example.com/useiOSapp.html"> Run the App </a>

else

<a href="http://app.example.com/flash-app-page.html">Run the App</a>

I've searched through lots of posts and found quite a few scripts that will redirect iOS devices to a different page. But I don't want to change the whole page, just one link.

The whole site (www.example.com) works fine for iOS devices and includes one link to a flash based application page (on a different host - app.example.com). This particular application has an iOS version for use on iPads. When the link is clicked, I simply want computer users to be sent to the flash app page, and iPad users to be sent to a page (on www.) that tells them about the iOS app.

I envision something like:

Use an iOS detection script in the head to set 'isiPad' variable to 'true' if the user is on iPad. Then in the body something that would function like:

if 'isiPad'=true, then

<a href="http://www.example.com/useiOSapp.html"> Run the App </a>

otherwise

<a href="http://app.example.com/flash-app-page.html">Run the App</a>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

待"谢繁草 2025-01-10 15:00:19

HTML

<a id="myLink" href="">Run App</a>

JavaScript

$(document).ready(function($){
    var deviceAgent = navigator.userAgent.toLowerCase();
    var agentID = deviceAgent.match(/(iphone|ipod|ipad)/);
    if (agentID) {
        $('#myLink').attr('href', 'http://example.com/useiOSapp.html');
    }else
     { 
         $('#myLink').attr('href', 'http://example.com/flash-app-page.html');
     }
});

Html

<a id="myLink" href="">Run App</a>

Javascript

$(document).ready(function($){
    var deviceAgent = navigator.userAgent.toLowerCase();
    var agentID = deviceAgent.match(/(iphone|ipod|ipad)/);
    if (agentID) {
        $('#myLink').attr('href', 'http://example.com/useiOSapp.html');
    }else
     { 
         $('#myLink').attr('href', 'http://example.com/flash-app-page.html');
     }
});
薄荷港 2025-01-10 15:00:19

您可以通过 htaccess 运行它并重写 URL。

RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^http://example.com/flash-app-page.html$ http://example.com/useiOSapp.html [R=301]

或者,您可以将其声明为 js var:

var isiPad = navigator.userAgent.match(/iPad/i) != null;

然后在准备好时调用重写 url 的函数...
jquery 版本:(

$(document).ready(function(){
    if(isiPad)
    {
        $('#link_id').attr('href', 'http://example.com/useiOSapp.html');
    }
});

假设您还为链接指定了 ID“link_id”)

You could run this through htaccess and rewrite the URL.

RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^http://example.com/flash-app-page.html$ http://example.com/useiOSapp.html [R=301]

Alternatively, you can declare this as a js var:

var isiPad = navigator.userAgent.match(/iPad/i) != null;

then on ready call a function that rewrites the url...
jquery version:

$(document).ready(function(){
    if(isiPad)
    {
        $('#link_id').attr('href', 'http://example.com/useiOSapp.html');
    }
});

(assumes you also give your link an ID of "link_id")

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文