如何从JavaScript指定一个字体?
我正在尝试为iPad定制一个view-src书签。 这个目前看起来不错。
但是我想让它更具可读性:在视网膜显示器上,Courier(New)字体甚至有点丑陋(尤其是?),我更喜欢DejaVu Sans Mono,Monaco,Lucida Console,Bitstream Vera Sans Mono。
我试图通过添加以下来修改小书签脚本:
pre.style.fontFamily = '"DejaVu Sans Mono", "Lucida Console", Monaco;';
这不是诀窍。
加载时,可能会打印出我的fontFamily设置。 也许我可以在脚本的末尾设置它…
这是因为Lucida控制台,dejaVu sans mono和摩纳哥本身就不在ipad上。 除非你已经将它们添加为Webfont ,否则这对IOS设备完全没有影响。 这里是ipad原生字体列表: http : //iosfonts.com/
不幸的是,iOS上唯一可用的等宽字体是Courier(和Courier New,我相信)。 你必须去:
pre.style.fontFamily = '"Courier New", Courier, mono';
这里是我现在使用的版本,这是弗兰克费德勒的小书签,稍作修改,将<pre>
设置为粗体,并使用“晒黑”美化CSS,而不是默认的CSS。
javascript:(function(){ var w = window.open('about:blank'), doc = w.document; doc.write('<!DOCTYPE html><html><head><title>Source of ' + location.href + '</title><meta name=\'viewport\' content=\'width=device-width\' />' + '<link rel=\'stylesheet\''+ ' href=\'http://google-code-prettify.googlecode.com/svn/trunk/styles/sunburst.css\''+ ' type=\'text/css\'/>' + '</head><body></body></html>'); doc.close(); var pre = doc.body.appendChild(doc.createElement('pre')); pre.style.overflow = 'auto'; pre.style.whiteSpace = 'pre-wrap'; pre.style.border = 'none'; pre.style.fontWeight = 'bold'; pre.className = 'prettyprint'; pre.appendChild(doc.createTextNode(document.documentElement.innerHTML)); var lib = doc.createElement('script'); lib.setAttribute('type','text/javascript'); lib.setAttribute('src','http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js'); doc.getElementsByTagName('head')[0].appendChild(lib); var call = doc.createElement('script'); call.setAttribute('type','text/javascript'); var txt = doc.createTextNode('window.setTimeout(function () {prettyPrint();},800);'); call.appendChild(txt); doc.body.appendChild(call); }());
看起来相当亲:
您可以使用
element.style.fontFamily = "Fontname1,alternative1,alternative2";
关于iPad问题,您是否尝试过Google字体?
http://www.google.com/webfonts
从他们的网站:
哪些浏览器支持?
Google Web Fonts API与以下浏览器兼容:
Google Chrome:版本4.249.4以上
Mozilla Firefox:版本:3.5+
Apple Safari:版本3.1+
Opera:版本10.5+
Microsoft Internet Explorer:版本6+
Google Web Fonts API是否可以在移动设备上使用?
Google Web Fonts API可在大多数现代移动操作系统(包括Android 2.2及iOS 4.2+(iPhone,iPad,iPod))上可靠运行。 对早期iOS版本的支持是有限的。