gpt4 book ai didi

javascript - 在VB.NET代码后面动态添加JS block

转载 作者:行者123 更新时间:2023-11-28 10:56:14 26 4
gpt4 key购买 nike

我正在开发一个系统,该系统管理最终用户的多个页面以进行数据输入。需要阻止后退按钮(我知道,这并不理想,但这是要求),但在测试模式下查看页面时禁用此“阻止”。

我有必要的 JS,它可以满足我们的需要,但我在将代码动态添加到页面以使其触发时遇到问题。

我这是什么意思?好吧,我可以动态添加代码块,使其看起来完全符合预期,但代码不起作用。如果我复制并粘贴文本并手动将其添加到 aspx 页面(因此不使用后面的代码来执行此操作),它就可以正常工作。

这是解决后退按钮点击问题的 JS:

> <script type="text/javascript">
> function preventBack(){window.history.forward();} setTimeout("preventBack()", 0); window.onunload=function(){null};
> </script>

在我的aspx.vb文件背后的代码我有以下内容:

If Not TestMode Then
' add JS
End If

我尝试通过以下方式添加 JS - 但似乎都不起作用:

  1. Page.RegisterClientScriptBlock("preventBack", "<script type=""text/javascript"">function preventBack(){window.history.forward();} setTimeout(""preventBack()"", 0); window.onunload=function(){null};</script>")

  2. 将 scriptText 调暗为新的 StringBuilder

    scriptText.Append("<script type='text/javascript'>")
    scriptText.Append("function preventBack(){")
    scriptText.Append(" window.history.forward();} ")
    scriptText.Append("setTimeout('preventBack()', 0); ")
    scriptText.Append("window.onunload=function(){null};")
    scriptText.Append("</script>")
    ClientScript.RegisterClientScriptBlock(Page.GetType, "noback", scriptText.ToString, False)
  3. 昏暗的灯光作为新的文字

    lit.Text = "<script type='text/javascript' src='JS/noBack.js'>"  '"<script type='text/javascript'>function preventBack(){window.history.forward();} setTimeout('preventBack()', 0); window.onunload=function(){null};</script>"
    Head1.Controls.Add(lit)
  4. 将 gc 调暗为新的 HtmlGenericControl

    gc.TagName = "script"
    gc.Attributes.Add("type", "javascript")
    gc.Attributes.Add("src", "JS/noBack.js")
    Head1.Controls.Add(gc)
  5. ClientScript.RegisterClientScriptBlock(Me.GetType(), "MyScript", "JS/noBack.js", True)

其中noBackJS文件包含上面提到的JS代码。

正如我所说,实际代码在渲染时写入页面上的 HTML,但根本不起作用/触发。显然我在这里遗漏了一些东西,但我一生都无法弄清楚它是什么,有人可以帮忙吗?

谢谢。

最佳答案

试试这个:

Dim jScript As String = "<script>alert('')</script>"
Page.ClientScript.RegisterStartupScript(Me.GetType(), "Registered Script", jScript, False)

关于javascript - 在VB.NET代码后面动态添加JS block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22095738/

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