Panel:RunJavascript

  Panel:RunJavascript( string js )

Açıklama

Bir web belgesi panelinde, bir metin dizesini JavaScript kodu olarak çalıştırır.

Bu fonksiyon, JavaScript (JS) ortamından Lua ortamına değişken aktarmanıza izin VERMEZ.
Eğer JS'den Lua'ya değer aktarmak/döndürmek isterseniz, bu işi başarmak için DHTML:AddFunction fonksiyonunu kullanabilirsiniz.
Awesomium web oluşturucusu, belge hazır değilse kod yürütmeyi otomatik olarak geciktirir, ancak Chromium web oluşturucusu bunu yapmaz!

Bu, Chromium ile Panel:SetHTML veya Panel:OpenURL çağrıldıktan hemen sonra JavaScript kodu çalıştıramayacağınız anlamına gelir. Devam etmeden önce PANEL:OnDocumentReady veya PANEL:OnFinishLoadingDocument olaylarının tetiklenmesini beklemelisiniz, aksi takdirde boş / eksik bir belge üzerinde işlem yapabilirsiniz.

Argümanlar

1 string js
Çalıştırılacak JavaScript kodunu belirtin.

Örnek

Panel üzerinde bu fonksiyonu çağırarak document.body.innerHTML özelliğinin nasıl değiştirileceğini gösterir.

-- Öncelikle bir konteyner oluşturuyoruz, bu durumda tam ekran bir Derma Frame penceresi. local dframe = vgui.Create( 'DFrame' ) dframe:SetSize( ScrW(), ScrH() ) dframe:SetTitle( "Garry's Mod Wiki" ) dframe:Center() dframe:MakePopup() -- DFrame paneli için klavye ve fare etkileşimini etkinleştirin. -- dframe'in bir alt elemanı olarak yeni bir DHTML paneli oluşturun ve onu dock-fill ile doldurun. local dhtml = vgui.Create( 'DHTML', dframe ) dhtml:Dock( FILL ) -- Garry's Mod wiki web sitesine gidin. dhtml:OpenURL( 'https://wiki.gmodtr.com/gmodTRTRTR/' ) -- Belgenin yüklenmesini bekleyin... dhtml.OnDocumentReady = function() -- JavaScript kodunu çalıştırın. dhtml:RunJavascript( [[console.log("hello world"); document.body.innerHTML = 'HTML changed from Lua using JavaScript!';]] ) end -- Bu bir hata/istisna fırlatmaz, bunun yerine nil/değer döndürmez. -- Bu, bu fonksiyonu kullanarak JavaScript'ten Lua ortamına değer aktaramayacağınız/döndüremeyeceğiniz anlamına gelir. local number = dhtml:Call( '22;' ) print( number )
Çıktı: DHTML panelindeki belgenin gövdesinin iç HTML'i artık şuna ayarlandı: "HTML changed from Lua using JavaScript!".

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord