2013-04-10 2 views
1

Я пытаюсь использовать window.devicePixelRatio в файле транскрипта, но это не удается скомпилировать с сообщением «Свойство„devicePixelRatio“не существует на значение типа" Окно»машинопись window.devicePixelRatio

ли там исправление или я должен использовать функцию вне машинописного текста?

Пит

ответ

4

Вы можете расширить интерфейс Window с функцией вам нужно - вы можете сделать это всякий раз, когда что-то новое (МОГ) не сделал его в lib.d.ts. Возможно, вам придется удалить расширение позже, когда оно сделает его в lib.d.ts, но компилятор предупредит вас в то время.

interface Window { 
    devicePixelRatio: number; 
} 

var x = 1; 

if (window.devicePixelRatio) { 
    x = window.devicePixelRatio 
} 
+0

Спасибо - это действительно полезно –

3

Я пошел бы с решением Стива, если он сработает для вас. Иногда визуальная студия становится изворотливой и начинает жаловаться на уже определенную переменную. С другой стороны, вы всегда можете сделать:

var x = 1; 
var win:any = window; 

if (win.devicePixelRatio) { 
    x = win.devicePixelRatio 
} 

или

var x = 1; 

if ((<any>window).devicePixelRatio) { 
    x = (<any>window).devicePixelRatio 
} 
Смежные вопросы