相关疑难解决方法(0)

JavaScript:在运行时更改网站图标不适用于弹出窗口

我想在运行时更改 favicon。当页面在选项卡中打开时,我的代码有效,但在弹出窗口中打开页面时不起作用

在此处输入图片说明

在线演示

我已经在最新的 Chrome、Firefox 和 Edge 上进行了测试,但不能正常工作,但可以在 Internet Explorer 11 上运行。

这是用于更改网站图标的代码:

function changeFavicon(src) {
    // delete the current favicon from the DOM
    var oldLink = document.getElementById('appFavicon');
    if (oldLink) {
        document.head.removeChild(oldLink);
    }

    // add the new favicon
    var link = document.createElement('link');
    link.id = 'appFavicon';
    link.rel = 'shortcut icon';
    link.href = src;
    document.head.appendChild(link);
}
Run Code Online (Sandbox Code Playgroud)

这是favicon.html为 gif 制作的完整内容:

<!doctype html>
<html>
<head>
    <link rel="shortcut icon" id="appFavicon" href="favicon.ico">
</head>
<body>
    <script>
    function popUp(url,windowName) {
       newwindow=window.open(url,windowName,'height=200,width=350');
       if (window.focus) {newwindow.focus()} …
Run Code Online (Sandbox Code Playgroud)

html javascript favicon popup

5
推荐指数
0
解决办法
136
查看次数

导航到IE中的数据URI

我有这个非常简单的HTML:

<a download="red.png"
   href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==">
   Static
</a>
Run Code Online (Sandbox Code Playgroud)

在Chrome或Firefox中,它会red.png按预期下载。

在IE中,它导航到错误页面。在JSFiddle上看到它。

现在,我知道downloadIE中不支持该属性,这很好。我仍然希望它能够导航到“文件”,从而允许用户保存它。相反,它导航到错误页面。

有办法解决这个问题吗?数据URI是在客户端生成的;在服务器上创建文件不是一种选择。


编辑:MSDN说

出于安全原因,数据URI仅限于下载的资源。数据URI不能用于导航,脚本编写或填充frame或iframe元素。

...我读为“即使其他所有浏览器都支持此功能,我们也不知道该怎么做”。因此,仍在寻找一种变通方法来下载在客户端上生成的文件。

html5 internet-explorer data-uri

3
推荐指数
1
解决办法
3933
查看次数

标签 统计

data-uri ×1

favicon ×1

html ×1

html5 ×1

internet-explorer ×1

javascript ×1

popup ×1