如何从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版本的支持是有限的。