我正在将代码从 javascript 转换为在现代浏览器上运行的 Typescript。我正在使用 VS2013 IDE,除了代码尝试引用scrollMayY 的一处之外,我没有收到任何 IDE 错误。
position.getPageSize = function () {
var scrollWidth, scrollHeight;
var innerWidth, innerHeight;
// It's not very clear which blocks work with which browsers.
if (self.innerHeight && self.scrollMaxY) {
scrollWidth = doc.body.scrollWidth;
scrollHeight = self.innerHeight + self.scrollMaxY;
}
else if (doc.body.scrollHeight > doc.body.offsetHeight) {
scrollWidth = doc.body.scrollWidth;
scrollHeight = doc.body.scrollHeight;
}
else {
scrollWidth = doc.body.offsetWidth;
scrollHeight = doc.body.offsetHeight;
}
这里我收到一条错误消息:属性scrollMaxY 在类型为Window 的对象上不存在。
任何人都可以给我一些关于如何处理这个问题的建议吗?我不确定这是否是代码错误,或者我是否需要对 Typescript 做一些不同的事情来避免此检查?请注意,代码中的注释不是我写的。它是由代码的开发人员编写的。
最佳答案
您可以在window
上定义scrollMaxY
:
interface Window { scrollMaxY: number; }
...这将消除您的编译时错误。
或者做:
self["scrollMaxY"]
或者你可以寻找一些alternatives to window.scrollMaxY
关于javascript - 当js用Typescript调用scrollMaxY参数时我该如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27686897/