Browser Blocks Input on Screen?
Posted: Wed May 25, 2011 1:40 am
I've put browsers on a couple on my cards, along with a 'mouseUp' handler on each card to go to the next card. That handler works fine on the cards without browsers, but not on the cards with browsers. Here is the code for the cards with browsers:
As I said, the 'mouseUp' handler works just fine on the cards without browsers, but doesn't work on the cards with browsers. Any idea why?
Code: Select all
-- We use this variable to store the id of the UIWebView native
-- control.
local sBrowserId
on preOpenCard
if the environment is not "mobile" then
exit preOpenCard
end if
-- Create our browser control and store the id
iphoneControlCreate "browser"
put the result into sBrowserId
-- Native controls start off invisible
iphoneControlSet sBrowserId, "visible", "true"
-- Set up a suitable initial url
iphoneControlSet sBrowserId, "url", "https://sites.google.com/site/gosantafenm/maps/bikeways-and-trails"
-- Make sure everything is the right size
resizeStack
end preOpenCard
on mouseUp
go nextCard
end mouseUp
on closeCard
if the environment is not "mobile" then
exit closeCard
end if
-- Destroy the control, if we fail to do this native UIViews
-- will just accumulate
iphoneControlDeletesBrowserId
end closeCard
on resizeStack
if the environment is not "mobile" then
exit resizeStack
end if
-- Adjust the size of the URL entry field
set the rect of field "URL" to the left of field "URL", the top of field "URL", the width of this card - 4, the bottom of field "URL"
-- Adjust the size of the browser view
set the rect of group "Browser" to the left of group "Browser", the top of group "Browser", the width of this card - 4, the height of this card - 100
-- Adjust the status field
set the rect of field "Status" to 4, the bottom of group "Browser" + 4, the width of this card - 4, the height of this card - 4
-- Now adjust the control itself
iphoneControlSet sBrowserId, "rect", the rect of group "Browser"
end resizeStack
--------
-- This message is received after a request has been allowed and
-- loading is starting
on browserStartedLoading pUrl
put "Started loading:" && pUrl into field "Status"
end browserStartedLoading
-- This message is received when a page has been completely
-- loaded and is displayed to the user
on browserFinishedLoading pUrl
put "Finished loading:" && pUrl into field "Status"
put pUrl into field "Url"
end browserFinishedLoading
-- This message is received when a new url is requested. Passing it
-- causes the load to go ahead, otherwise it does not.
on browserLoadRequest pUrl, pReason
answer "Do you want to load:" && pUrl with "Yes" and "No"
if it is "Yes" then
pass browserLoadRequest
else
put "Refused:" && pUrl into field "Status"
end if
end browserLoadRequest
--------
-- This handler is invoked by our Back/Forward/Stop/Refresh buttons
-- we just pass the request onto the control.
command doAction pAction
if the environment is not "mobile" then
exit doAction
end if
iphoneControlDo sBrowserId, pAction
end doAction
-- This handler is invoked when the url field is closed after editing.
-- It causes a new url to be requested
command goUrl pUrl
if the environment is not "mobile" then
exit goUrl
end if
iphoneControlSet sBrowserId, "url", pUrl
end goUrl