2014-02-04 5 views
5

Я пытаюсь создать приложение для приложений Windows с внешним интерфейсом HTML. Я хочу использовать TYPESCRIPT для обработки на моей странице html. Существует одна функция javascript, которая имеет решающее значение для моего приложения для работы - window.external.notifyИспользование функции Javascript из машинописного текста

Этот метод не создан до выполнения. Я предполагаю, что я создаю функцию обертки javascript, чтобы определить, существует ли она, когда она вызывается ,

if (window.external.notify != undefined) 
    window.external.notify(msg); 

Проблема заключается в том, что я должен получить файлы своих файлов, чтобы увидеть эту функцию. Я использую Visual Studio 2012, и я видел сообщение - How to use an exported function within the local module Проблема в том, что когда я просто включаю свой файл javascript с помощью функции, которую я хочу использовать, я получаю ошибку TS2095.

ошибка TS2095: Сложение: Не удалось найти символ

Любые идеи или помочь или возможные SDKs, чтобы обойти эту проблему?

ответ

5

Вам необходимо сообщить машинописному описанию, что эта функция существует на window.external, чтобы использовать его. Итак:

interface External{ 
    notify: Function; 
} 

if (window.external.notify != undefined) 
    window.external.notify("your message"); 
+0

Мне нравится это решение, я проверю это, когда вернусь домой. – MrSteamfist

+1

Отлично работает! Большое спасибо. – MrSteamfist

+0

это не работает для меня, как я написал здесь: http://stackoverflow.com/questions/43530096/calling-javascript-function-from-typescript-angular-2 не могли бы вы привести более полный пример? благодаря – jay

6

//notif.js

let notify = function(message) { 
    alert(message); 
} 

//test.ts

declare function notify(message: string): any; 
if(notify != undefined) 
    notify("your message"); 

Убедитесь, что notif.js загружается первым.

Смежные вопросы