4
votes

I have an XPages mobile application using the single page application design pattern. When I open the application using my iPhone 6 none of the links work.

When I open the application on my desktop chrome browser by first setting the user agent then opening the URL I see an "illegal invocation" JavaScript error whenever I click on a link.

If I open the application on my desktop chrome browser by first opening the URL then setting the user agent I no longer receive the "illegal invocation" error and the links work but the theme is black (background) and white (text).

My xsp properties are:

xsp.ajax.renderwholetree=false
xsp.error.page.default=true
xsp.library.depends=com.ibm.xsp.extlib.library
xsp.persistence.mode=fileex
xsp.resources.aggregate=false
xsp.user.timezone=true
xsp.html.doctype=html
xsp.theme.mobile.pagePrefix=m_
xsp.client.resources.uncompressed=true
xsp.application.forcefullrefresh=true

The illegal invocation error is being reported at: (anonymous function) @ dojo.js:14753 which is this line: var firstChangeTouch = event.changedTouches[0];

More info:

I am running Domino 9.0.1 with version 901v00_14.201 of the extension library.

I enabled the Web Inspector in mobile Safari and connected my iPhone to a mac. When I do this I get two errors when I touch a link:

First Error: Depreciated attempt to access property 'changedTouches' on a non-TouchEvent object. dojo.js on line 14753 which is: var firstChangeTouch = event.changedTouches[0];

Second Error: TypeError: Attempted to assign to readonly property. dojo.js on line 14756 which is: event[i] = firstChangeTouch[i];

1

1 Answers

4
votes

This issue was fixed in Domino 9.0.1 Fix Pack 2 Interim Fix 1. I only had FP2 on my Development server.

The cause of the issue was iOS 8 made some changes to touch events causing Dojo to break. See http://www-01.ibm.com/support/docview.wss?uid=swg21686751