我如何断言页面的CSS已在Watin 2.1中成功加载并应用了其样式?
在进行了一些研究并写下我的答案之后,我偶然发现了该链接,该链接解释了您需要了解的有关CSS的所有信息,何时加载CSS以及如何检查CSS。
实际上,所提供的链接对它的解释很好,以至于我在其中添加了一些引用以供将来参考。
如果您好奇,我的答案将是#2和#4的变体。
…
顺便说一句,让我们看看这里有什么。
// my callback function
// which relies on CSS being loaded function
CSSDone() {
alert('zOMG, CSS is done');
};
// load me some stylesheet
var url = "http://tools.w3clubs.com/pagr/1.sleep-1.css",
head = document.getElementsByTagName('head')[0],
link = document.createElement('link');
link.type = "text/css";
link.rel = "stylesheet";
link.href = url;
// MAGIC
// call CSSDone() when CSS arrives
head.appendChild(link);
魔术部分的选项,从容易到荒谬
第5个选项太疯狂了,它假定您可以控制CSS的内容,所以就算了。另外,它还会检查超时中的当前样式,这意味着它将刷新重排队列,并且可能会变慢。CSS到达的速度越慢,重排就越多。所以,真的,算了吧。
那么如何实施魔术呢?
// MAGIC
// #1
link.onload = function () {
CSSDone('onload listener');
};
// #2
if (link.addEventListener) {
link.addEventListener('load', function() {
CSSDone("DOM's load event");
}, false);
};
// #3
link.onreadystatechange = function() {
var state = link.readyState;
if (state === 'loaded' || state === 'complete') {
link.onreadystatechange = null;
CSSDone("onreadystatechange");
}
};
// #4
var cssnum = document.styleSheets.length;
var ti = setInterval(function() {
if (document.styleSheets.length > cssnum) {
// needs more work when you load a bunch of CSS files quickly
// e.g. loop from cssnum to the new length, looking
// for the document.styleSheets[n].href === url
// ...
// FF changes the length prematurely :(
CSSDone('listening to styleSheets.length change');
clearInterval(ti);
}
}, 10);
// MAGIC ends
问题内容: 我正在编写一些Javascript来调整大图像的大小,以适合用户的浏览器窗口。(不幸的是,我没有控制源图像的大小。) 因此,HTML中将包含以下内容: 我是否可以确定 标签中的图像是否已下载? 我需要这样做,因为如果在浏览器加载图像之前执行该命令,就会遇到问题。 并返回占位符的大小(替代文本)。就我而言,这大约是134 x 20。 现在,我只是在检查照片的高度是否小于150,并假设是a
问题内容: 出于某种原因,我的表单不想获取复选框的值…我不确定这是否是我的编码,但是当我尝试输入值时,我得到了结果。我有什么问题? 编辑 我尝试将其更改为此 但是现在它甚至不想。怎么了 问题答案: 将函数放在内部。当执行该行时,主体尚未解析,并且该元素不存在。这工作得很好:
问题内容: 如何检查字符串是否已经编码? 例如,如果我编码,我得到。如果我再次对最后一个字符串进行编码,我会得到,如果这样做,我必须先知道它是否已经被编码… 我已经保存了编码参数,我需要搜索它们。我不知道输入参数是什么,要编码还是不编码,所以我必须知道在搜索之前是否必须对它们进行编码或解码。 问题答案: 解码,与原始图像进行比较。如果确实不同,则对原稿进行编码。如果没有区别,则原始文件不会被编码。
问题内容: 我正在尝试检查用户单击按钮后是否已加载iframe。 我有 的HTML 有什么建议么? 顺便说一下,我的iframe是动态创建的。它不会随初始页面加载一起加载。 问题答案: 您可以尝试使用() 更新: 使用普通格式 更新: 您也可以尝试一下(动态iframe)
问题内容: 到目前为止,我所看到的所有示例都涉及阻塞(通过运算符)获取结果。 我当前的方法涉及传递指向结构的指针: goroutine完成时会写的内容。然后,只要方便就可以进行检查。您有更好的选择吗? 我真正想要的是Qt风格的信号槽系统。我有一个预感,解决方案看起来几乎是微不足道的(有 很多 未开发的潜力),但是我对这种语言还不十分了解。 问题答案: 您可以使用“逗号,可以”模式(请参阅其页面上的
我想在应用程序中播放声音,除非它不是通过手机的内置扬声器播放的。为此,我假设我需要找出是否连接了外部扬声器(有线扬声器、蓝牙耳机、有线耳机等)。 我看到< code > audio manager . iswiredheadseton()已被弃用,但仍可使用,不过这仅表示已插入有线耳机。蓝牙有类似的选项吗?这是否涵盖了所有可能的音频选项? 相反,如果有一种方法可以告诉您声音将通过内置扬声器传送,那