iOS Question Open website error

Discussion in 'iOS Questions' started by thestar19, Jul 19, 2015.

  1. thestar19

    thestar19 Member Licensed User

    Hey

    So I'm trying to open a website in Webview.

    If I use the code that you see below, The website never finishes loading, probably because of the way EncodeUrl works.
    the problem is that if I parse the url directly I get an Webkit error, se more below.

    How do I open the website without getting an error?

    Code:


    The code that I am currently working with:
    Code:
    Dim test As StringUtils
    Dim url As String
    Log("the url not_coded" & "http://www.novasoftware.se/ImgGen/schedulegenerator.aspx?format=png&schoolid=52550/sv-se&type=1&id={" & main_map_saved.Get("the_class_code") & "}&period=&week=" & week_number_with_days & "&mode=0&printer=0&Colors=32&head=0&clock=0&foot=0&day=" & which_day_code_to_use & "&width=" & days_use_this_width_when_downloading & "&height=" & use_this_height_when_downloading & "&maxwidth=" & days_use_this_width_when_downloading  & "&maxheight=" & use_this_height_when_downloading)
    url = test.EncodeUrl(
    "http://www.novasoftware.se/ImgGen/schedulegenerator.aspx?format=png&schoolid=52550/sv-se&type=1&id={" & main_map_saved.Get("the_class_code") & "}&period=&week=" & week_number_with_days & "&mode=0&printer=0&Colors=32&head=0&clock=0&foot=0&day=" & which_day_code_to_use & "&width=" & days_use_this_width_when_downloading & "&height=" & use_this_height_when_downloading & "&maxwidth=" & days_use_this_width_when_downloading  & "&maxheight=" & use_this_height_when_downloading,"ISO-8859-1")
    download_webview.LoadUrl(url)
    Log("the url encoded: " & url)
    The logs that I get when I use the code above:
    Code:
    Application_Start
    Application_Active
    the url not_codedhttp://www.novasoftware.se/ImgGen/schedulegenerator.aspx?format=png&schoolid=
    52550/sv-se&type=1&id={877B6E23-FA02-44CC-9967-12A26CCD6FA3}&period=&week=1&mode=0&printer=0&Colors=32&head=0&clock=0&foot=0&day=8&width=320&height=480&maxwidth=320&maxheight=480
    the url encoded: http%3A%2F%2Fwww.novasoftware.se%2FImgGen%2Fschedulegenerator.aspx%3Fformat%3Dpng%26schoolid%3D52550%2Fsv-se%26type%3D1%26id%3D%7B877B6E23-FA02-44CC-9967-12A26CCD6FA3%7D%26period%3D%26week%3D1%26mode%3D0%26printer%3D0%26Colors%3D32%26head%3D0%26clock%3D0%26foot%3D0%26day%3D8%26width%3D320%26height%3D480%26maxwidth%3D320%26maxheight%3D480
    The error I get if I try to use the webadress directly:
    Code:
    *** WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate: <NSInvalidArgumentException> *** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]
    The url it uses when trying to open the website directly:
    Code:
    the url not_coded: http://www.novasoftware.se/ImgGen/schedulegenerator.aspx?format=png&schoolid=52550/sv-se&type=1&id={877B6E23-FA02-44CC-9967-12A26CCD6FA3}&period=&week=1&mode=0&printer=0&Colors=32&head=0&clock=0&foot=0&day=8&width=320&height=480&maxwidth=320&maxheight=480

    Anyone?
     
  2. JanPRO

    JanPRO Well-Known Member Licensed User

    This should work:

    Code:
    download_webview.LoadUrl("http://www.novasoftware.se/ImgGen/schedulegenerator.aspx?format=png&schoolid=52550%2Fsv-se&type=1&id=%7B" & main_map_saved.Get("the_class_code") & "%7D&period=&week=" & week_number_with_days &"&mode=0&printer=0&Colors=32&head=0&clock=0&foot=0&day=" & which_day_code_to_use & "&width=" & days_use_this_width_when_downloading & "&height=" & use_this_height_when_downloading & "&maxwidth=" & days_use_this_width_when_downloading & "&maxheight=" & use_this_height_when_downloading)
    But when you only want to load an image then I recommend you to do it like this:

    Code:
    Sub LoadImage
    Dim HJ As HttpJob
    HJ.Initialize(
    "LoadImage",Me)
    HJ.Download(
    "http://www.novasoftware.se/ImgGen/schedulegenerator.aspx?format=png&schoolid=52550%2Fsv-se&type=1&id=%7B" & main_map_saved.Get("the_class_code") & "%7D&period=&week=" & week_number_with_days &"&mode=0&printer=0&Colors=32&head=0&clock=0&foot=0&day=" & which_day_code_to_use & "&width=" & days_use_this_width_when_downloading & "&height=" & use_this_height_when_downloading & "&maxwidth=" & days_use_this_width_when_downloading & "&maxheight=" & use_this_height_when_downloading)                                  
    End Sub

    Sub JobDone (Job As HttpJob)
      
    If Job.Success = True Then
      
    Select Job.JobName
      
    Case "LoadImage"
      ImageView1.Bitmap = Job.GetBitmap 
    'Use an ImageView and not a WebView to show images
      End Select
      
    Else
      
    Log("Error: " & Job.ErrorMessage)
      
    End If
      Job.Release
    End Sub
    See: http://www.b4x.com/android/forum/threads/class-httputils2.46565/
     
    thestar19 likes this.
  3. thestar19

    thestar19 Member Licensed User


    Brother, If this was a civilized world, You would be king...
    Worked perfectly and I took your recommendation and converted to HttpJob instead of image.Capturebitmap, atleast on iPhone.
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice