Πώς να χειριστείτε τις προειδοποιήσεις για το ιδιοκτησιακό / προσαρμοσμένες ιδιότητες των built-in αντικείμενα στη γραφομηχανή

ψήφοι
14

Είμαι με τη χρήση Personas το οποίο βασίζεται σε ιδιόκτητο ακίνητοnavigator.id . Δεδομένου ότι αυτή η ιδιοκτησία δεν είναι πρότυπο, ο compiler γραφομηχανή παράγει την ακόλουθη προειδοποίηση:

$ tsc home.ts --out my_ts_generated_code.js
/Users/..../home.ts(27,18): The property 'id' does not exist on value of type 'Navigator'

Αλλά το αρχείο .js με επιτυχία δημιουργείται και λειτουργεί με το πρόγραμμα περιήγησης FF15 χωρίς κανένα προειδοποιητικό μήνυμα / λάθους.
Θα περιλαμβάνει επίσης ένα polyfill για την navigator.id, σύμφωνα με τις οδηγίες της τεκμηρίωσης, έτσι navigator.idσίγουρα από τα διαθέσιμα σε κάθε πρόγραμμα περιήγησης θα.

Θα μπορούσε κάποιος να μου προτείνει πώς να ασχοληθεί με αυτή την προειδοποίηση;

index.html

<!-- some HTML omit above -->
<script src=https://login.persona.org/include.js></script>
<script src=my_ts_generated_code.js></script>
<button class=btn id=signin>Sign in</button>
<button class=btn id=signout>Sign out</button>
<!-- some HTML omit below -->

home.ts

declare var $;

class Student {
    fullname : string;
    constructor(public firstname, public middleinitial, public lastname) {
        this.fullname = firstname +   + middleinitial +   + lastname;
    }
}

interface Person {
    firstname: string;
    lastname: string;
}

function greeter(person : Person) {
    return Hello,  + person.firstname +   + person.lastname;
}

var user = new Student(Jane, M., User);

$(function() {
    $('#signin').on('click', function(e) {
        e.preventDefault();
        navigator.id.request();
    });

    $('#signout').on('click', function(e) {
        e.preventDefault();
        navigator.id.logout();
    });
    //document.body.innerHTML = greeter(user);
});
Δημοσιεύθηκε 03/10/2012 στις 07:50
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
20

1) Μπορείτε να ερμηνεύσει πλοηγός στήριγμα.

(<any>navigator).id.request();

2) Μπορείτε να δηλώσετε id στηρίξουν τον εαυτό σας

mycompany.lib.d.ts

interface Navigator {
  id: any
}

app.ts

navigator.id.request();

δείτε αυτό το βίντεο http://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-TypeScript/ υπάρχουν Anders πω ως jQuery.UI προσθέσει νέες μεθόδους για να jQuery (βλέπε 46 λεπτά)

Απαντήθηκε 03/10/2012 στις 08:34
πηγή χρήστη

ψήφοι
0

Προσθέστε ελέγχους, όπως if(navigator.id != null && typeof navigator.id != 'undefined')πριν Stmt όπου αναφέρεται navigator.id

Απαντήθηκε 03/10/2012 στις 07:56
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more