JavaScript:iPhone中href链接无法工作

3
以下代码在Android设备和iPhone模拟器上可用,但在iPhone设备上不可用。
<a style="color:#1cffff" href="#" onclick="window.open('http://somesite.com.');"><u>mysite_name</u></a>

我尝试了以下方法:
<a style="color:#1cffff" href="http://somesite.com">mysite_name</a>

但是它们都没有起作用。请给予建议。

2
第二个例子到底是怎么出了问题?会发生什么或者不会发生什么? - Pekka
它不起作用。我能够点击链接,但它没有重定向到我的页面。相同的代码在安卓手机和所有浏览器中都能正常工作... - Dray
2
发一些更多的代码。它不起作用是因为你有某种阻止事件冒泡的机制。 - Andreas Louv
我只是在一个div中显示链接,非常简单,没有太多的代码。代码在所有浏览器和手机上都能正常工作,除了iPhone。当用户点击链接时,是否有其他重定向用户到我的网站的方法? - Dray
1
你发布的是完全有效的HTML(虽然不好的实践)。你真的应该让我们看到你的Javascript代码。如果除了iPhone之外,代码在其他地方都正常工作,那么很明显iPhone的问题必须是你的Javascript代码。 - Petr Vostrel
显示剩余6条评论
5个回答

1
请尝试这个:
<a style="color:#1cffff" href="http://somesite.com" target="_self">mysite_name</a>

1
你的文档中有HTML的<base>标签吗?就像这样:
<base href="http://somesite.com" target="_blank">

如果是这样,所有的链接默认情况下都会在一个单独的窗口中打开。你可能需要删除该元素或明确设置目标,以便在同一窗口中打开你想要的链接:
<a href="http://somesite.com" target="_self">Link text</a>

这里是关于<base>元素的更多细节


我只使用<a href>,但是我错过了" target="_self"。这对我很有帮助。:) :) 谢谢!! - Dray

1

如果你使用的是WebView,请尝试这个方法

NSString *str =@"<a style='color:#1cffff' href='http://www.somesite.com'>www.somesite.com</a>",

[webview loadHTMLString:[NSString stringWithFormat:@"<html><body style='background-color: transparent;font-family:Helvetica;font-size:13;color: rgb(65,75,86);'>%@</body></html>",str ] baseURL:nil];

不然就不使用

<a href="javascript:yourFunction()">Some Link</a>

我正在使用div来显示链接,请提供其他想法,以便用户在单击链接时可以访问我的页面... - Dray
我正在使用JavaScript和HTML完成我的项目。您的答案基于Objective C,这对我没有帮助。请给我一些JavaScript的解决方案。非常感谢您的快速回复。 - Dray
让我们在聊天中继续这个讨论:http://chat.stackoverflow.com/rooms/8167/discussion-between-elppa-and-dray - Deepesh

1

您可以使用类似以下代码作为替代方案:

<a href=”javascript:window.location.href=’http://google.de’”>链接</a>

这种方法在全屏 Web 应用程序中也有好处,因为它不会将您从应用程序中踢出,而是会将 href 加载到当前的 Web 视图中。


1

我不知道你说你已经尝试了所有的方法。

好的,让我给你一些关于调试技巧的提示。

希望这可以帮助你。只需为iPhone设备构建应用程序,然后转到该构建文件夹并打开应用程序(显示包和内容),在Safari中打开您的HTML文件,并使用Safari浏览器的调试/开发工具,或者您可以尝试在其他浏览器中进行调试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接