set webView to view "browse" of window "main"
set URLWithString to call method "URLWithString:" of class "NSURL" with parameter "http://www.someplace.com"
set requestWithURL to call method "requestWithURL:" of class "NSURLRequest" with parameter URLWithString
set mainframe to call method "mainFrame" of webView
call method "loadRequest:" of mainframe with parameter requestWithURL
This code is working as expected - but
when I put the webview in a box it is crashing when
I change
set webView to view "browse" of box "box" of window "main"
Why do you want a webview in a box? Why not just put it in a webview?
you could just use this code to insert it into a webview but im not sure about a box…(what is a box?)
(* Tell the browser to load a page *)
loadPage from "http://www.cns-world.com"
(* The browser config cod: *)
on loadPage from theURL
set URLWithString to call method "URLWithString:" of class "NSURL" with parameter theURL
set requestWithURL to call method "requestWithURL:" of class "NSURLRequest" with parameter URLWithString
tell window "page"
set mainFrame to call method "mainFrame" of object (view "browser")
end tell
call method "loadRequest:" of mainFrame with parameter requestWithURL
end loadPage
I tried it here (10.4.10/MacBook Pro 2.33 GHz Intel Core Duo) but could not reproduce your crash problem. The webview is working - in and outside of a box
When you say crashing, do you really mean your application unexpectedly terminates? That is, would you be more specific as to what is actually happening?
the reason for putting a webview into a box is the following:
I am programming a quiz:
The first question is “Webbrowsing”, second is “Downloading” and third is “Emailing” - if I am
using boxes it is easier for me to simple enable or disable the whole boxes (box 2 and 3 are disabled while box 1 is enabled - or 1 and 2 are
disabled while 3 is enabled)
Box - NSbox (Interface Builder) - its similar to a tab view
The Application is not real crashing when I am using the box - it is simply not displaying any webpage…
I also see no problems with your examples. The error has to be somewhere else in your code. Are you including the “http://” before the web address you’re trying to pass to it? You need to pass a valid url string, including the protocol.
There shouldn’t be any code for displaying a webview in a box… that’s all taken care of in IB. As I said, you’re obviously not doing something else properly, such as passing a valid url or referencing the view correctly. Are you sure the names of your objects are right in your code?
One thing I might recommend, is to set up a persistent reference to the web view as soon as it awakens from nib. In the awakeFromNib handler below (connected to the web view in IB, of course), I grab a reference to the web view and save it in a property variable. This makes having to reference the object correctly unnecessary altogether, as the object returned in “theObject” is definitely going to be the correct one. Then, any time you want to mess with the web view, just pass your commands to that reference or pass the reference as an argument to a handler or method.
Both of the following methods of gaining a valid reference to my web view worked for me…
property myWebView : null
on awake from nib theObject
if name of theObject is "myWebView" then
set myWebView to theObject
end if
end awake from nib
on will finish launching theObject
set myWebView to view "myWebView" of box "myBox" of window "myWindow"
end will finish launching
I’m guessing you missed something simple somewhere, or you’re not passing a valid url.
j