gpt4 book ai didi

javascript - 如何以编程方式将 javascript 放入 block 中?

转载 作者:行者123 更新时间:2023-11-28 01:47:43 25 4
gpt4 key购买 nike

我需要将一些 javascript 绝对放在页面的 block 中——它必须在页面的其余部分之前执行,因为脚本的可能结果是重定向到不同的页面。

但是,当我在使用 jQuery 的代码中使用 RegisterClientScriptIninclude (将一些 jQuery 放入其中)和 RegisterClientScriptBlock 时,它会将其放在 block 的顶部附近,并且不会执行。我看不到以编程方式将此 javascript 放入 block 的方法 - 它必须以编程方式,因为有时我不希望它在那里,有时我又想。

我试图看看是否可以直接引用Content1,即与 block 对应的asp:Content元素的ID,但没有成功。

以防万一有人认为 RegisterStartupScript 可能有效:事实并非如此。它将它放在 block 中比其他所有内容都低的位置。奇怪的是。

想要一些代码吗?这里:

Type csType = this.GetType();
ClientScriptManager clientScript = Page.ClientScript;

if (!clientScript.IsClientScriptIncludeRegistered(jqueryScriptName))
{
clientScript.RegisterClientScriptInclude(jqueryScriptName, "~/Scripts/jquery-1.7.1.min.js");
}

if (!clientScript.IsClientScriptBlockRegistered(citrixDetectorScriptName))
{
clientScript.RegisterClientScriptBlock(csType, citrixDetectorScriptName, citrixDetectorScriptText, true);
}

应大众要求,我如何检测ActiveX组件。这是 JScript。

try {
var icaObj = new ActiveXObject("Citrix.ICAClient");

var CitrixVersion = icaObj.ClientVersion.split(".");
var MajorMinorVersion = CitrixVersion[0] + "." + CitrixVersion[1];
if (MajorMinorVersion == "11.0") {
// Citrix is OK
}
else {
window.navigate("WrongCitrix.aspx?Citrix=" + MajorMinorVersion);
}
}
catch (e) {

window.navigate("NoCitrix.aspx");
}

如果 ActiveX 组件不存在,则重定向是一个页面,告诉用户需要安装它。如果 ActiveX 组件是 11.0 以外的任何其他版本,则重定向到解释此问题以及如何处理这种情况的页面(例如 backrevving)。

在页面加载期间进行事先检查,以确保它们具有 Internet Explorer v4 至 v9,因为任何其他版本都无法与该产品一起使用(如果 IE10+ 尝试加载 ActiveX 组件的 v11.0,它就会崩溃) .

最佳答案

如果我理解您的问题,您可以在页面内任意位置插入 PlaceHolder 控件。

<%@ Page Language="C#" AutoEventWireup="True" 
CodeBehind="Default.aspx.cs" Inherits="WebApplicationTelerik.Default" %>
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript"
src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<asp:PlaceHolder runat="server" ID="PlaceHolder1"></asp:PlaceHolder>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>

protected void Page_Load(object sender, EventArgs e)
{
PlaceHolder1.Controls.Add(new LiteralControl(
"<script type=\"text/javascript\"> alert('here'); </script>"));
}

关于javascript - 如何以编程方式将 javascript 放入 <head> block 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20083905/

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