---------------------------------------- ----WebViewTest ---------------------------------------- local WebViewTest = class("WebViewTest", function () local layer = cc.Layer:create() return layer end) function WebViewTest:ctor() self:init() end function WebViewTest:init() Helper.initWithLayer(self) Helper.titleLabel:setString(self:title()) Helper.subtitleLabel:setString(self:subtitle()) local winSize = cc.Director:getInstance():getVisibleSize() self._webView = ccui.WebView:create() self._webView:setPosition(winSize.width / 2, winSize.height / 2) self._webView:setContentSize(winSize.width / 2, winSize.height / 2) self._webView:loadURL("https://www.baidu.com") self._webView:setScalesPageToFit(true) self._webView:setOnShouldStartLoading(function(sender, url) print("onWebViewShouldStartLoading, url is ", url) return true end) self._webView:setOnDidFinishLoading(function(sender, url) print("onWebViewDidFinishLoading, url is ", url) end) self._webView:setOnDidFailLoading(function(sender, url) print("onWebViewDidFinishLoading, url is ", url) end) self:addChild(self._webView) local urlTextField = ccui.TextField:create("Input a URL here", "Arial", 20) urlTextField:setPlaceHolderColor(cc.c4b(255, 0, 0, 255)) urlTextField:setPosition(winSize.width/2 - 80, winSize.height/2 + self._webView:getContentSize().height/2 + urlTextField:getContentSize().height/2 + 10) self:addChild(urlTextField) local httpLabel = ccui.Text:create("https:// ", "Arial", 20) httpLabel:setTextColor(cc.c4b(0, 255, 0, 255)) httpLabel:setAnchorPoint(cc.p(1.0,0.5)) local x,y = urlTextField:getPosition() httpLabel:setPosition( x - urlTextField:getContentSize().width / 2, y) self:addChild(httpLabel) local resetBtn = ccui.Button:create("cocosui/animationbuttonnormal.png", "cocosui/animationbuttonpressed.png") resetBtn:setTitleText("Visit URL") resetBtn:setPosition(winSize.width / 2 + 80 , winSize.height / 2 + self._webView:getContentSize().height / 2 + resetBtn:getContentSize().height / 2 + 10) resetBtn:addClickEventListener(function(sender) if urlTextField:getString() ~= nil then self._webView:loadURL("https://" .. urlTextField:getString()) end end) self:addChild(resetBtn) local reloadBtn = ccui.Button:create("cocosui/animationbuttonnormal.png", "cocosui/animationbuttonpressed.png") reloadBtn:setTitleText("Reload") reloadBtn:setPosition(winSize.width / 2 + self._webView:getContentSize().width / 2 + reloadBtn:getContentSize().width / 2 + 10, winSize.height / 2 + 50) reloadBtn:addClickEventListener(function(sender) self._webView:reload() end) self:addChild(reloadBtn) local forwardBtn = ccui.Button:create("cocosui/animationbuttonnormal.png","cocosui/animationbuttonpressed.png") forwardBtn:setTitleText("Forward") forwardBtn:setPosition(winSize.width / 2 + self._webView:getContentSize().width / 2 + forwardBtn:getContentSize().width / 2 + 10,winSize.height / 2) forwardBtn:addClickEventListener(function(sender) self._webView:goForward() end) self:addChild(forwardBtn) local backBtn = ccui.Button:create("cocosui/animationbuttonnormal.png", "cocosui/animationbuttonpressed.png") backBtn:setTitleText("Back") backBtn:setPosition(winSize.width / 2 + self._webView:getContentSize().width/2 + backBtn:getContentSize().width/2 + 10, winSize.height - 50) backBtn:addClickEventListener(function(sender) self._webView:goBack() end) self:addChild(backBtn) local loadFileBtn = ccui.Button:create("cocosui/animationbuttonnormal.png", "cocosui/animationbuttonpressed.png") loadFileBtn:setTitleText("Load FILE") loadFileBtn:setPosition(winSize.width / 2 - self._webView:getContentSize().width/2 - loadFileBtn:getContentSize().width/2 - 30, winSize.height / 2 + 50) loadFileBtn:addClickEventListener(function(sender) self._webView:loadFile("Test.html") end) self:addChild(loadFileBtn) local loadHTMLBtn = ccui.Button:create("cocosui/animationbuttonnormal.png","cocosui/animationbuttonpressed.png") loadHTMLBtn:setTitleText("Load Data") loadHTMLBtn:setPosition(winSize.width / 2 - self._webView:getContentSize().width/2 - loadHTMLBtn:getContentSize().width/2 - 30, winSize.height / 2) loadHTMLBtn:addClickEventListener(function(sender) self._webView:loadHTMLString("Hello World ","Images/") end) self:addChild(loadHTMLBtn) local evalJsBtn = ccui.Button:create("cocosui/animationbuttonnormal.png", "cocosui/animationbuttonpressed.png") evalJsBtn:setTitleText("Evaluate JS") evalJsBtn:setPosition(winSize.width / 2 - self._webView:getContentSize().width/2 - evalJsBtn:getContentSize().width/2 - 30, winSize.height / 2 - 50) evalJsBtn:addClickEventListener(function(sender) self._webView:evaluateJS("alert(\"hello\")") end) self:addChild(evalJsBtn) end function WebViewTest:title() return "" end function WebViewTest:subtitle() return "" end function WebViewTestMain() Helper.createFunctionTable = { WebViewTest.create, } Helper.index = 1 local scene = cc.Scene:create() scene:addChild(WebViewTest.create()) scene:addChild(CreateBackMenuItem()) return scene end