gpt4 book ai didi

c# - 在运行时动态添加 Javascript Silverlight 4

转载 作者:行者123 更新时间:2023-11-29 18:35:51 25 4
gpt4 key购买 nike

我试图在运行时在我的代码中添加一个方法,在运行时添加一个函数。我可以毫无问题地将元素动态添加到我的文档中。所以我尝试了添加脚本 block 的相同策略。

这是我迄今为止尝试过的方法,但没有成功。它可以创建脚本 block ,但是当我尝试添加函数时。我唯一能收集到的是,由于页面正在加载,它无法添加 JS 方法。我试图在页面加载之前添加它。所以我想我可以添加脚本。如果我不能添加一个函数,我想至少在我的代码后面为它提供一些 javascript 以便在运行时调用。

以下是我尝试动态添加脚本 block 的方式...这会在 SetProperty() 方法上引发运行时错误。

HtmlElement script = HtmlPage.Document.CreateElement("script");
script.SetAttribute("type", "text/javascript");
script.SetProperty("innerHTML", "function testing() { alert('hello world'); }");
HtmlPage.Document.Body.AppendChild(script);

然后在这个有效的文档上调用一个 EXISTING 函数...

HtmlPage.Window.Invoke("testing2");

如果我不能动态添加脚本 block ,我能否以某种方式从我的代码后面调用一些 javascript?

谢谢!!!

最佳答案

好吧,我想出了如何从后面的代码中调用一些脚本...

下面是如何在运行时调用一些脚本

HtmlPage.Window.Eval("window.close();");

这是一种动态创建 JavaScript 函数并将它们添加到页面以在 silverlight 应用程序中使用的方法。

// Create the script block
var scriptElement = HtmlPage.Document.CreateElement("script");
scriptElement.SetAttribute("type", "text/javascript");
// Add a function called foo
scriptElement.SetProperty("text", "function foo() { alert('hello foo!'); } ");
// Append script block to the body of the page
HtmlPage.Document.Body.AppendChild(scriptElement);


// Now invoke the function from your silverlight application
HtmlPage.Window.Invoke("foo", null);

关于c# - 在运行时动态添加 Javascript Silverlight 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3249453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com