OnClientBrowserResourceBlocked
Jump to navigation
Jump to search
This event is executed when a resource (images, sounds etc.) has been blocked.
Parameters
string url, string domain, int reason
- url: the blocked URL.
- domain: the blocked domain (part of the URL).
- reason: the reason why the resource was blocked. Possibles values:
- 0: not allowed yet
- 1: blacklisted
- 2: blocked protocol scheme
Source
The browser element.
Example
This example demonstrates how to open a browser window, load a test URL, and handle the onClientBrowserResourceBlocked event. If a resource is blocked, it outputs the details to chat and, if the reason is 0 (not allowed yet), requests the domain and reloads the page if accepted.
local screenWidth, screenHeight = guiGetScreenSize( ) local browser, theBrowser local lastBrowser = nil local testCases = { {name = "Google (HTTPS, should work)", url = "https://www.google.com/"}, {name = "YouTube (HTTPS, should work)", url = "https://www.youtube.com/"}, {name = "MTA Wiki (HTTPS, should work)", url = "https://wiki.multitheftauto.com/"} } addCommandHandler("openbrowser", function(_, case) if isElement(browser) then destroyElement(browser) end local sx, sy = guiGetScreenSize() local bw, bh = math.floor(sx * 0.6), math.floor(sy * 0.6) local bx, by = math.floor((sx - bw) / 2), math.floor((sy - bh) / 2) browser = guiCreateBrowser(bx, by, bw, bh, false, false, false) guiSetVisible(browser, true) guiBringToFront(browser) showCursor(true) theBrowser = guiGetBrowser(browser) local idx = tonumber(case) or 1 if not testCases[idx] then idx = 1 end local test = testCases[idx] outputChatBox("[BrowserTest] Loading test case: "..test.name) addEventHandler("onClientBrowserCreated", theBrowser, function() loadBrowserURL(source, test.url) end) addEventHandler("onClientBrowserDocumentReady", theBrowser, function(url) outputChatBox("[BrowserTest] Browser loaded: " .. tostring(url)) end) addEventHandler("onClientBrowserResourceBlocked", theBrowser, function(url, domain, reason) outputChatBox("[BrowserTest] Resource blocked! URL="..tostring(url).." DOMAIN="..tostring(domain).." REASON="..tostring(reason), 255, 0, 0) if (reason == 0) then lastBrowser = source requestBrowserDomains({domain}, false, function(accepted, newDomains) if (accepted == true) then outputChatBox("[BrowserTest] Domain accepted, reloading page.") reloadBrowserPage(lastBrowser) else outputChatBox("[BrowserTest] Domain NOT accepted.") end lastBrowser = nil end) elseif (reason == 1) then outputChatBox("[BrowserTest] Domain is blacklisted.") elseif (reason == 2) then outputChatBox("[BrowserTest] Blocked protocol scheme.") end end) end)
See Also
- onClientBrowserCreated
- onClientBrowserCursorChange
- onClientBrowserDocumentReady
- onClientBrowserInputFocusChanged
- onClientBrowserLoadingFailed
- onClientBrowserLoadingStart
- onClientBrowserNavigate
- onClientBrowserPopup
- onClientBrowserResourceBlocked
- onClientBrowserTooltip
- onClientBrowserWhitelistChange