我正在将代码从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;
    }


在这里,我收到一条错误消息:Window类型的对象上不存在属性scrollMaxY。

谁能给我有关如何处理此问题的任何建议。我不确定代码是否有错误,或者是否需要对Typescript进行其他操作以避免这种检查?请注意,代码中的注释不是我本人的。它是由代码的开发人员编写的。

最佳答案

您可以在scrollMaxY上定义window

interface Window { scrollMaxY: number; }


...这将消除您的编译时错误。

或执行:

self["scrollMaxY"]


或者您可以寻找一些alternatives to window.scrollMaxY

关于javascript - js使用TypeScript调用scrollMaxY参数时,如何处理?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27686897/

10-09 16:08