【发布时间】:2019-08-18 11:58:19
【问题描述】:
我是 Javascript 新手。我想为我所有项目的网页添加一个图标。这个图标会随着登录我页面的人而改变。我现在正在尝试的是,在母版页加载中(当我在代码隐藏中拥有所有数据时,包括他选择的图标),我引入了一个 js 函数来更改图标:
(function icon(image) {
var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.hre = image;
document.getElementsByTagName('head')[0].appendChild(link);
})();
(改编自这里:Changing website favicon dynamically)
我试图用 Page.ClientScript.RegisterStartupScript() 方法调用这个函数:
(protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//...
UserModel usuario = (UserModel)Session["usuario"];
//...
Page.ClientScript.RegisterStartupScript(this.GetType(), "icone", $"icone({(Bitmap)new ImageConverter().ConvertFrom(usuario.imagem)});", true);
}
}
该方法根本没有执行(它也没有返回错误,它只是“跳转”),我真的不知道为什么。
OOOOR,可能有更好的方法,但我就是想不通。
为了记录,我没有文件夹上的图标/图像。我必须从数据库中获取它们。
(我稍后会为用户在数据库中没有图像时添加验证。假设现在它永远不会为空)。
【问题讨论】:
-
简单地创建一个返回图像并将其直接作为
shortcut-icon的href而不是诉诸Javascript的动作不是更容易吗?
标签: javascript c# web