类型 函数 库 native.* 返回值 无 修订 版本 2024.3703 关键词 网页视图,网页弹出窗口,网页覆盖 另请参阅 native.newWebView()
创建一个加载本地或远程网页的网页弹出窗口。
一次只能显示一个网页弹出窗口对象。如果需要一次显示多个网页视图,请参阅 native.newWebView()。
网页弹出窗口不属于 OpenGL 画布,也不遵循显示对象层次结构,因此它将始终显示在普通显示对象的前面,包括图像、文本和矢量对象。
tvOS 不支持网页弹出窗口。
网页弹出窗口对象无法移动或调整大小。
在 iOS 上,当在网页弹出窗口侦听器中检查 event.errorMessage
时,您可能偶尔会收到错误消息,例如 NSURLerrorDomain error -999
。当异步加载被取消时,会返回此错误。Web Kit 框架委托将在对加载资源执行取消操作时收到此错误,但是如果下载被取消,NSURLConnection
或 NSURLDownload
委托将不会收到此错误。如果在网页弹出窗口仍在加载第一页时单击了其中的链接,则可能会发生此事件/错误。一般来说,可以忽略此错误。
如果网页弹出窗口显示的是来自互联网的网页,则必须将 INTERNET
权限添加到 build.settings
文件中。如果网页弹出窗口仅显示不访问互联网的本地 HTML 文件,则不需要此权限。
settings = { android = { usesPermissions = { "android.permission.INTERNET", }, }, }
native.showWebPopup( [x, y, width, height,] url, [options] )
数字. 对应于网页弹出窗口左边缘的 **x** 坐标。
数字. 对应于网页弹出窗口上边缘的 **y** 坐标。
数字. 网页弹出窗口的宽度。
数字. 网页弹出窗口的高度。
字符串. 本地或远程网页的 URL(包括本地 URL 的扩展名)。默认情况下,URL 被假定为指向远程服务器的绝对 URL。如果未指定 x
、y
、width
、height
,则弹出窗口将占据整个屏幕。
表. 包含弹出窗口附加参数的表 — 有关详细信息,请参阅下一节。
这是一个可选表,您可以传递它,其中包含网页弹出窗口的附加选项。
local options = { baseUrl = system.ResourceDirectory, -- Default is nil hasBackground = false, -- Default is true; not supported on Windows autoCancel = false, -- Default is true; only supported on Android urlRequest = listener_function -- Default is nil }
字符串 或 常量. 确定 native.showWebPopup()
的 URL 参数是被解释为相对 URL 还是绝对 URL。
nil
表示 URL 是绝对 URL。system.ResourceDirectory
。然后,URL 参数将相对于该基本目录。布尔值. 控制弹出窗口是否具有不透明背景。如果未指定,则背景将是不透明的 (true
)。Windows 不支持此选项(背景不能透明)。
布尔值. 将弹出窗口设置为在按下 Android 返回键并且没有更多网页历史记录可导航时自动关闭。默认值为 true
。
函数. 指定一个侦听器函数,该函数将拦截来自弹出窗口的所有 urlRequest 事件。这还提供了一种使用伪 URL 从网页传回信息的标准方法。
<form action="corona:close" /> <input type="submit" /> </form>
在此示例中,当用户在网页弹出窗口中单击“提交”时,指定的侦听器函数将收到一个 urlRequest 事件对象,其 URL 属性设置为 "corona:close"
,从而允许应用程序做出相应的反应。请注意,侦听器函数必须返回 true
,否则网页弹出窗口将关闭。如果没有 return 语句,则假定为 false
。
local function listener( event ) local shouldLoad = true local url = event.url if 1 == string.find( url, "corona:close" ) then -- Close the web popup shouldLoad = false end if event.errorCode then -- Error loading page print( "Error: " .. tostring( event.errorMessage ) ) shouldLoad = false end return shouldLoad end local options = { hasBackground = false, baseUrl = system.DocumentsDirectory, urlRequest = listener } native.showWebPopup( 50, 100, 220, 300, "localpage1.html", options )