- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我继承了一个遗留代码库/网站,http://ninjawars.net 。在我开始在网站上编码之前,iframe 就已就位。
我经常听说 iframe 的问题(安全性、可访问性、布局问题),并且我非常确定 iframe 对搜索引擎不友好(这是一个很大的缺点)。我个人使用 iframe 的经验主要是加载时间问题(我猜是大量的 http 请求?)。
不幸的是,没有人说“摆脱 iframe”也为我的情况提供了有效的解决方案,通常假设简单地包含框架内容将使一切变得彩虹和 unicorn (例如 Converting from iframes )。就我而言,静态包含解决方案对我来说几乎没有任何作用。
jQuery load()(例如,将内容动态加载到 div 中)更适合,但转换到该方法需要时间,并且不利于搜索引擎或非 javascript 浏览的可访问性用户。 jQuery load() 解决了速度问题,但我不确定它是否解决了可访问性问题。即使没有 javascript,iframe 仍然可以工作(用于手动点击),尽管让 iframe 在 javascript 下工作的额外支持工作是否实用,我不确定。
最佳答案
iframe 并不是某些无名恶魔的产物,有些人会让您相信这一点。对于网络应用程序来说,它们仍然有非常有用的地方。
但是,它们绝对不利于搜索引擎优化!除非绝对必要,否则我绝不会建议“普通”公共(public)网站使用它们,尤其是在 SEO 是一个大问题的情况下。
我认为 jQuery 是解决可访问性问题的一个不错的选择。 jQuery 的一大优点是,对于那些没有 javascript 之类的搜索引擎的用户来说,可以轻松地使您的网站优雅地降级。
基本上,我使用 jQuery 访问新公共(public)网站的方式如下:
构建具有静态导航的网站。我通常从某个 ajax 请求(在您的情况下,在 iframe 中)获取的所有内容 block ,我都可以在其自己的页面中访问。 “联系我们”表单就是一个很好的例子 - 对于非 javascript 用户,将其放在自己的页面中,但最终会使用 ajax 将其加载到普通用户的模态 div 中。静态导航确保搜索引擎看到一切。在您的情况下,将 iframe 替换为仅包含指向 iframe 当前正在加载的页面的链接的 div。
添加 jQuery。一次一页,开始用 ajax 调用替换所有出现的静态导航链接,以加载您想要的内容。
不断重构 JavaScript,直到将其缩小为可在网站上的所有导航中运行的脚本。
一个简单的可正常降级的网站示例如下(取 self 工作过的网站):
$(document).ready(function() {
$("#menu a[href]").each(function() {
this.href = this.href.replace(/Index/, "Ajax");
})
.click(function() {
$.get(this.href, null, function(data) {
var $main = $("#main");
$main.hide();
$("#main").html(data);
$main.fadeIn("slow");
});
return false;
});
此脚本在网站上的所有页面中运行,将菜单导航目标 URL 中出现的任何“/Index/”替换为“/Ajax/”,这会将 URL 重定向到返回 ajax 响应的资源,然后添加处理将内容添加到页面的单击处理程序。
现在搜索引擎和非 JS 用户可以遵循静态导航,JS 用户可以获得更快捷的 UI 和一些效果。
关于jquery - 旧版 iframe,什么是它们的完整替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1911513/
我不完全确定我理解 substitute 的作用,尽管我以前在它的代码中使用过。今天在shiny::exprToFunction中遇到了如下几行代码: function (expr, env = pa
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我最近发现了 crockford 的 Javascript supplant 函数。函数是这样的—— if (!String.prototype.supplant) { String.prot
在我工作的一些项目中,添加了一些具有这种语法的 block : var [code, name] = input.split("/"); console.log(code); console.log(
我对 JavaBeans 模式的憎恨就像一千个太阳的火焰一样燃烧。为什么? 冗长。现在是 2009 年。我不应该为一个属性写 7 LOC。如果他们有事件监听器,请捕获你的帽子。 没有类型安全的引用。没
是否有比 PHP 执行速度更快且具有相同功能集(例如对常见 RDBMS、Curl、Regex 等的支持)的替代品? 用 C 编写网站代码怎么样?效果如何?该平台是否独立并在每台服务器上运行? 最佳答案
我正在开始新项目。客户端界面基于 GWT(和 GXT),我没有说它是预先确定的。但是,我可以选择服务器端,这样我就可以玩得开心,并希望在这个过程中学到一些新东西。一些要求是: 与服务器的交换将通过使用
我目前使用 CentOS 5.6(Ghostscript 8 - ImageMagick-6.2.8) 我正在尝试将 pdf 的第一张图像转换为 jpg 文件。 我知道我当前的设置无法转换压缩的 pd
2021 年更新: 只使用 MathJax;您不应该再支持旧版本的 IE。 我想使用 MathJax 来显示 MathML 方程,但它在 IE 中的性能慢得令人无法接受(是的,我读过使用 Emulat
BinaryFormatter 序列化的 128³ 数组加倍,占用 50 MB 空间。序列化具有两个双字段的 128³ 结构数组需要 150 MB 和超过 20 秒的处理时间。 是否有快速简单的替代方
我发现 $.each 非常慢,如果包含大量各种 jQuery 效果,会给网页带来问题。 我想知道 $.each 是否有一个好的替代方案,例如: $('ul li').each(function() {
我正在编写一个Mac应用程序,它提供类似“测试”的功能。此应用程序(通过与服务器的连接)。基本上,该应用程序将为学生提供一个故事供阅读,然后是一系列问题(也来自服务器),用户可以(尝试)选择正确的答案
我喜欢 WPF,但我讨厌 XAML。 XAML 过于冗长,在 Microsoft 尝试对其进行扩展时出现语法问题(请参阅 StringFormat on Bindings),并且难以导航。 XAML
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足 Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以
有没有类似 SoftwareFx 的 PowerGadgets 的产品?我正在查看支持自动刷新的 powershell 的仪表控件。 最佳答案 检查 ShowUI 模块。 http://showui.
我正在开发一个项目,其中页面需要能够根据服务器的状态保持更新。 我喜欢 websocket,因为它们为我提供了一种从服务器推送消息的方法,但可用性是一个问题。 我需要通用方法在网络服务器和浏览器客户端
我最近一直在使用 openX 自托管广告管理软件,但它太慢了。 目标:我需要能够展示一个广告,获得 10 次点击,然后停用该广告,并且每天都这样做。 问题:当我将 openX 设置为每天 10 次点击
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我正在尝试实现一个简单的类,该类允许用户裁剪用于其个人资料图片的图像。这是一个 Java Web 应用程序。 我做了一些搜索,发现 java.awt 有一个 BufferedImage 类,这看起来(
只是一个关于 JQuery 的简单问题,我一直在使用phonegap 并使用 JQuery 制作了一些应用程序。其中一个运行速度非常慢,所以我一直在努力尽可能地精简它。 我一直在考虑的一个更改是用更小
我是一名优秀的程序员,十分优秀!