2015-08-17 23 views
6

Piszę w nadziei, że dowiem się, jak wyzwolić angularJS, aby zaktualizować model podczas wykonywania autouzupełniania z rozszerzeń przeglądarki. Wiem, że niektóre inne aplikacje (menedżery haseł, takie jak LastPass) robią to z powodzeniem.Rozszerzenie Safari - Aktualizowanie modelu kątowego JS na autouzupełnianiu formularzy

Buduję małe rozszerzenie Safari, które pomoże mi automatycznie wypełnić Apple (śmieszną) formularz tworzenia użytkownika Sandbox, który ma 10 pól wejściowych i kilka elementów selektora.

Do tej pory udało mi się uzyskać pola wejściowe za pomocą jQuery i ustawić ich wartość za pomocą .val(). Nie powoduje to jednak zmiany parametru angularJS w celu zaktualizowania modelu, więc nawet jeśli w polach wejściowych znajduje się tekst, kątowy uważa, że ​​nie ma tekstu i nie sprawdza poprawności formularza.

Problem można łatwo naprawić, jeśli mogę uzyskać dostęp do kątowego obiektu, ale nie mogę tego zrobić. Mój wstrzyknięty skrypt zwraca undefined, gdy próbuję uzyskać dostęp do angular. Tak więc myślę, że albo odbieram nieprawidłowy obiekt kątowy, albo że powinienem rozwiązywać to inaczej.

Należy zauważyć, że wypróbowałem już kilka innych sztuczek wymienionych w Internecie:

+0

Czy masz zestaw pól zestawu ng? – Jacques

+2

jest to bardzo istotne: http://stackoverflow.com/a/11710295/1078450 – wesww

+0

@Jacques on a element? Używam formularza stworzonego przez kogoś innego, nie tworzę własnego formularza ... – Andrei

Odpowiedz

0

Wygląda na to, że trzeba oszukać formę, aby pomyśleć, że wpisano coś w dane wejściowe, a nie tylko ustawienie wartości wejściowej, co, jak sądzę, nie powoduje zdarzenia skupienia. Spróbuj użyć JQuery, aby ustawić ostrość, a następnie nie skupiać się na wejściach. Powinno to symulować kliknięcie pola wejściowego przez użytkownika, a następnie opuszczenie pola wprowadzania. Jeśli Apple zbudował swoją formę we właściwy sposób, powinno to spowodować zatwierdzenie/aktualizacje modelu. Mam nadzieję że to pomoże.