AJAX i callback url z programu pic2shop

0

Witajcie!

Chciałem prosić o pomoc, z callback url z programu pic2shop.

Aktualnie, wywołuję to w ten sposób:
window.location.href = "pic2shop://scan?callback=http://" + location[2] + "/home/Index?qr=QR"

Ale takie działanie otwiera najpierw program, a po zeskanowaniu otwiera nowy tabpage, lub odświeża stronę, gdzie wyświetla mi zeskanowany QRCode.

Chciałbym by działało to bez otwierania nowego taba po zeskanowaniu, czy też bez odświeżania strony.

Orientujecie się jak to można zrobić?

Z góry dzięki za pomoc!

Pozdrawiam!

1

nie zrobisz z poziomu strony komunikacji z programem zewnętrznym.
możesz coś takiego zrobić pisząc wtyczkę do przeglądarki - szukaj w manualu tworzenia wtyczek do danej przeglądarki.

(edit: no chyba, że serwer (np. apache z php) mógłby wywołać exe i wynik zwrócić do przeglądarki ?)

nie wiem która opcja jest lepsza

0

Przepraszam, nie dopisałem, że korzystam z ASP.NET MVC, o ile to zmienia postać rzeczy :) W sumie jak nie ma innej możliwości, to pewnie będę myśleć nad wtyczką. Tyle że potrzebuję obsłużyć więcej niż jedną przeglądarkę...

1

Możesz napisać kilka wtyczek :p, albo spróbować uruchamiać po stronie serwera to skanowanie, zakładam, że obsługuje polecenia z parametrami do exe, skoro ma obsługę callbacków ze stronami internetowymi. To czy to jest PHP czy ASP.NET nie ma znaczenia, o ile możesz uruchomić polecenie systemowe z tego poziomu :)

0

Zrobiłem to przy użyciu ciasteczek. Callback z aplikacji otwiera mi nowego taba, ten nowy tab wczytuje wartość do ciasteczek i zamyka się. W starym tabie wyświetla się zeskanowany kod :)

Nie do końca mi o takie coś chodziło, ale póki co nie mam lepszego rozwiązania które by było szybsze..

Dzięki za odpowiedź, pewnie w przyszłości wykorzystam ten pomysł jak będę mieć troszkę więcej czasu ;)

1

Zamiast ciasteczek możesz użyć localstorage - masz w czasie rzeczywistym w porównaniu do ciasteczek, które pewnie sprawdzasz w setInterval https://truongtx.me/2014/06/16/cross-tab-communication-using-html5-dom-storage/

w sumie nie wpadłem na taki pomysł

nie zadziała tylko Twoja opcja, gdy program skanujący uruchomi inną przeglądarkę niż ta, która wywołuje ten program

0

A jestem w stanie użyć jakoś local storage, żeby komunikowało się to pomiędzy przeglądarkami?

No problem w mojej opcji się faktycznie wtedy pojawia.. Użytkownik musi używać domyślnej przeglądarki, żeby wyeliminować ten problem, co jest niezbyt wygodne (stąd właśnie tymczasowe rozwiązanie) :)

1

Zdaje się, że nie ;) Wszystko wymaga aplikacji-serwera.

0

To w takim razie będzie musiało poczekać. Dzięki za odpowiedź ;)

Pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1