如何在iOS5 Safari上获得备用样式表
How do I get alternate style sheets to work on iOS5 Safari?
我一直在为iPad开发HTML5应用程序。该应用程序的一部分包括使用替代样式表。这在iOS 4 Safari上运行良好,在我桌面上的Safari上也运行良好。然而,我刚刚将我们的一台iPad升级到iOS 5测试版,它已经不起作用了。有什么想法吗?
这是我的代码。
function (options) {
var i, a, main;
for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
if (a.rel.indexOf("style") != -1
&& a.title) {
a.disabled = true;
if (a.title == options.title) {
a.disabled = false;
console.log('The theme should be changing to : ' + a.title);
}
}
在搜索SO和web后,我对任何解决方案都不满意。因此,我想出了一个新的解决方案,可以在chrome、ff、ie和safari中工作,也可以在旧ipad上工作:
第一套样式:
<link rel="stylesheet" href="./codebase/touchui.css" data-title="default" type="text/css" media="screen" charset="utf-8">
<link rel="alternate stylesheet" href="./codebase/ios.css" data-title="ios" type="text/css" media="screen" charset="utf-8">
<link rel="alternate stylesheet" href="./codebase/jq.css" data-title="jq" type="text/css" media="screen" charset="utf-8">
<link rel="alternate stylesheet" href="./codebase/sky.css" data-title="sky" type="text/css" media="screen" charset="utf-8">
<link rel="alternate stylesheet" href="./codebase/green.css" data-title="green" type="text/css" media="screen" charset="utf-8">
注意属性"datatitle"这是一个用户定义的属性。
然后使用此功能更改样式表,(注意,我在应用程序范围中设置了它,您可以将其作为标准功能:
app = {}
app.styleSet=function(title) {
var i, a
var o;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++)
if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute('data-title') ) {
if (a.getAttribute('data-title') == title)
o = a
a.setAttribute("rel", "alternate stylesheet");
a.setAttribute("title", a.getAttribute('data-title'));
a.disabled = true
}
o.setAttribute("title", undefined);
o.setAttribute("rel", "stylesheet");
o.disabled = false
//app.cookieCreate("style", title, 365);
}
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 将样式表插入iframe
- 跟踪在页面加载时应用内联样式的JavaScript
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 定义完全独立的样式信息
- W3C循环样式的JavaScript
- jQuery/JavaScript在线公文包表单-打印样式表
- 使用递归、Ramda.js和无点样式重构字符串的getPermutations()
- FF和Chromium中CSS样式按钮的外观差异
- 如何首先设置样式<td>表中包含在窗体中的元素
- javascript问题正文样式
- 使用具有内联样式的tidy-html5
- DataTables-创建自定义分页样式(加载更多样式)
- 具有所有样式的文本正在复制到可编辑文本区域
- 如何提供在javascript中编写对对象的重复访问以设置元素样式的简写
- 绑定Range输入以修改样式
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 在带有脚本的IE11中添加一个备用样式表
- 如何在iOS5 Safari上获得备用样式表
- JavaScript - 创建一些可用于为表行提供备用样式的 CSS 类