相关疑难解决方法(0)

如何知道何时应用了font-face

我目前正在为广泛使用自定义字体的客户构建公司网站.

在jQuerys DOM-ready上我正在进行位置计算,以确定应根据动态内容放置一些具有动态宽度和高度的弹出菜单.

这些计算失败,因为在应用font-face之前触发了DOM-ready,因此宽度和高度不正确.

现在(对于原型)我在DOM准备好500ms后进行计算以缓解这个问题,但由于显而易见的原因,这不能投入生产.

在最新的Firefox和Chrome中已经出现了这个问题.IE 8似乎没有问题,但是随后DOM-ready起火相当晚,所以延迟是内置的我猜:)

等待加载事件不是一个选项,所以我的问题是:

是否有可靠的跨浏览器方式来检测何时应用了font-face?

javascript jquery font-face domready

31
推荐指数
2
解决办法
7130
查看次数

javascript:在LINK上捕获加载事件

我正在尝试将事件处理程序附加到链接标记的加载事件,以在加载样式表后执行某些代码.

new_element = document.createElement('link');
new_element.type = 'text/css';
new_element.rel = 'stylesheet';
new_element.href = 'http://domain.tld/file.css';
new_element.addEventListener('load', function() { alert('foo'); }, false);
document.getElementsByTagName('head')[0].appendChild(new_element)
Run Code Online (Sandbox Code Playgroud)

我也试过onreadystatechange

new_element.onreadystatechange = function() { alert('foo'); }
Run Code Online (Sandbox Code Playgroud)

不幸的是,这两种方法都没有导致触发警报.此外,在使用addEventListener注册'load'事件的处理程序后,new_element.onload为null.这是正常的吗?

谢谢,安德鲁

ps:我可能不会使用任何框架来解决这个问题

javascript javascript-events

15
推荐指数
3
解决办法
2万
查看次数