3

我正在使用 jQtouch 为文档管理器编写一个 Web 应用程序,并在其中添加了“热门搜索”部分。您可以在http://dl.dropbox.com/u/97184921/Project/index.html查看整个内容

下面的代码应该显示一个包含两个项目的无序列表(它确实如此) - 一个链接到 Google,另一个链接到 BBC 作为测试网站。它们都应该有缩略图并显示出来,但是当点击链接时,它似乎不会将用户发送到 Google 或 BBC。任何人都可以帮忙吗?

        <li><a href = "http://www.google.co.uk/"><img height = "20" width = "20" src = "images/search.png">google</a></li>
        <li><a href = "http://www.bbc.co.uk/"><img height = "20" width = "20" src = "images/search.png">bbc</a></li>
4

3 回答 3

6

jqtouch 网站上,他们建议您target="_blank"在打开外部链接时使用。

如果您想在同一窗口中打开链接,请尝试rel="external"

来源

提供更多信息的更好来源

于 2012-09-27T15:27:29.813 回答
0

问题似乎是您的链接被您的 javascript 挂钩,并且处理点击的脚本失败。

如果您在 FIreBug 中查看 javascript 控制台,您会在单击链接后发现如下错误:

选项http://www.google.co.uk/ 405(不允许的方法) jquery.js:19 XMLHttpRequest 无法加载http://www.google.co.uk/。> Access-Control-Allow-Origin 不允许来源http://dl.dropbox.com 。

正如@davehale23 建议的那样,添加target="_blank"到您的链接将解决问题(同样您可以通过调整 FireBug 中的链接元素之一来测试这一点。

于 2012-09-27T15:28:08.747 回答
0
<li><a href = "http://www.google.co.uk/" target="_blank"><img height = "20" width = "20" src = "images/search.png">google</a></li>
<li><a href = "http://www.bbc.co.uk/" target="_blank"><img height = "20" width = "20" src = "images/search.png">bbc</a></li>

锚标记中的 target="_blank" 会打开一个新页面(或选项卡),而不是在当前浏览器窗口中打开它。这是最好的方法,因为如果用户想要返回您的网站,用户无需离开您的网站并处理缓存问题。

http://jsfiddle.net/UCnY3/

如果你使用谷歌浏览器的开发者工具会显示错误:

“拒绝显示文档,因为 X-Frame-Options 禁止显示。”

关于 X-Frame-Options 的更多信息可以在这里找到:

https://developer.mozilla.org/en-US/docs/The_X-FRAME-OPTIONS_response_header

X-Frame-Options 有两个可能的值:

DENY 该页面不能在框架中显示,无论站点是否尝试这样做。

SAMEORIGIN 页面只能显示在与页面本身同源的框架中。

换句话说,如果您指定 DENY,则不仅尝试在框架中加载页面在从其他站点加载时会失败,而且在从同一站点加载时尝试这样做也会失败。另一方面,如果您指定 SAMEORIGIN,您仍然可以在框架中使用该页面,只要将其包含在框架中的站点与提供该页面的站点相同。

于 2012-09-27T15:34:43.250 回答