JavaScript itself seems to be working.
Try this
Code: Select all
If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
WebGadget(0, 10, 10, 580, 240, "")
SetGadgetItemText(0, #PB_Web_HtmlCode, "<html><body><p>This is a simple test text</body></html>")
ButtonGadget(1, 10, 260, 200, 30, "Evaluate script")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 1
ScriptObject = CocoaMessage(0, GadgetID(0), "windowScriptObject")
CocoaMessage(0, ScriptObject, "evaluateWebScript:$", @"location.href='www.purebasic.com'")
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf
You will see it loads the PureBasic site when the script is evaluated.
Maybe print and alert aren't supported from within a WebGadget.
If you want to print, you can do it like this
Code: Select all
If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
WebGadget(0, 10, 10, 580, 240, "")
SetGadgetItemText(0, #PB_Web_HtmlCode, "<html><body><p>This is a simple test text</body></html>")
ButtonGadget(1, 10, 260, 200, 30, "Print")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 1
PrintInfo = CocoaMessage(0, 0, "NSPrintInfo sharedPrintInfo")
FrameView = CocoaMessage(0, CocoaMessage(0, GadgetID(0), "mainFrame"), "frameView")
Operation = CocoaMessage(0, FrameView, "printOperationWithPrintInfo:", PrintInfo)
CocoaMessage(0, Operation, "setShowsPrintPanel:", #True)
CocoaMessage(0, Operation, "runOperation")
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf