GMOD LUA - небезопасная попытка JavaScript - PullRequest
0 голосов
/ 07 ноября 2018

В настоящее время я тестирую некоторые функции запроса / обратного вызова HTML GMU LUA, но, похоже, не могу найти решение этой проблемы.

КОД:

local url;

if CLIENT then
    local dframe = vgui.Create("DFrame")
    dframe:SetSize(ScrW()*0.75, ScrH()*0.85)
    dframe:SetTitle("Youtube video player...")
    dframe:SetDraggable(true)
    dframe:Center()
    dframe:MakePopup()

    local width, height = dframe:GetSize()

    local dhtml = vgui.Create("DHTML", dframe)
    dhtml:SetSize(width, height-ScrH()*0.1)
    dhtml:Dock(TOP)
    dhtml:OpenURL("http://www.youtube.com")
    dhtml:AddFunction("luaResponse", "sendURL", function(URL)
        url = URL
        print("URL = "..URL)
    end)

    local dbutton = vgui.Create("DButton", dframe)
    dbutton:SetText("Play this video")
    dbutton:Dock(FILL)
    dbutton:DockMargin(0, dframe:GetDockPadding(), 0, 0);
    dbutton.DoClick = function()
        dhtml:RunJavascript("luaResponse.sendURL(window.location.href);")
        print("hello")
        dframe:Close()
    end
end

Когда я нажимаю кнопку dbton, она выводит «hello» в мою консоль и закрывает dframe, однако не выполняет функцию javascript.

полный отчет об ошибках:

[HTML] :1: Unsafe JavaScript attempt to access frame with URL https://pubads.g.doubleclick.net/gampad/ads?sz=850x250&gdfp_req=1&ad_rule=0&iu=/4061/com.ythome&impl=ifr&loeid=23773251,23757209,23771404,23761460,23769156,23775644&scp=ssl%3D1%26dc_yt%3D1%26klg%3Den%26kmyd%3Dvideo-masthead%26ytdevice%3D1%26ytexp%3D23762434,9471239,23771404,9406993,9441347,23772824,23775003,23773605,23770800,23774273,9458115,9456196,23723593,23750996,23711319,23769434,23773787,23733598,23772895,23726562,23754731,23766770,23720702,9477942&d_imp=1&ytdevice=1&pucrd=CgYIABAAGAB4Ag&correlator=9155972215812654 from frame with URL https://www.youtube.com/embed/whGR4q0vK-8?mute=1&rel=0&iv_load_policy=3&start=0&adformat=1_8&enablejsapi=1&controls=0&modestbranding=1&showinfo=0&autoplay=1&nologo=1&widget_referrer=https%3A%2F%2Fpubads.g.doubleclick.net%2Fgampad%2Fads%3Fsz%3D850x250%26gdfp_req%3D1%26ad_rule%3D0%26iu%3D%2F4061%2Fcom.ythome%26impl%3Difr%26loeid%3D23773251%2C23757209%2C23771404%2C23761460%2C23769156%2C23775644%26scp%3Dssl%253D1%2526dc_yt%253D1%2526klg%253Den%2526kmyd%253Dvideo-masthead%2526ytdevice%253D1%2526ytexp%253D2376243&origin=https%3A%2F%2Fwww.youtube.com&widgetid=1. Domains, protocols and ports must match.

Мало кто увлекается GMOD LUA, поэтому очень сложно найти решения в Интернете. Поэтому Stackoverflow - моя последняя надежда.

Спасибо заранее.

...