gpt4 book ai didi

javascript - 通过 Javascript 下载网站的 favicon.ico

转载 作者:行者123 更新时间:2023-11-30 17:41:13 26 4
gpt4 key购买 nike

我尝试过 Ajax:

$.ajax({
type : "GET",
url : "http://getfavicon.appspot.com/http://www.google.com",
success : function(result) {
// use the .ico result somewhere
}
});

这给了我错误:

XMLHttpRequest cannot load http://getfavicon.appspot.com/http://www.google.com. No
'Access-Control-Allow-Origin' header is present on the requested resource. Origin
'http://localhost' is therefore not allowed access.

所以我尝试在我的 Apache 服务器上允许 CORS,但发现我从中下载的站点也需要允许 CORS。如果我理解正确,我就无法通过 javascript、图像、文本等从外部域下载任何内容?

我试图通过 ajax 在我的网络服务器上调用一个 php 脚本来解决这个问题:

var domain = "www.google.com";
$.ajax({
type : "POST",
url : "php/fetchIcon.php",
data : {
'domainName' : domain
},
success : function(result) {
// use the .ico result somewhere
}
});

获取图标.php:

$domainName = false;
if(isset($_POST['domainName'])){
$domainName = $_POST['domainName'];
}
echo file_get_contents("http://getfavicon.appspot.com/http://".$domainName, true);

在 Ajax 成功结果中,我取回了图像的二进制代码,但它似乎以某种方式损坏了。

  1. 如果我想显示 .ico 文件,我可以这样做吗:"document.getElementById("img").src = 结果;"?在我的项目中,我想使用“THREE.ImageUtils.loadTexture(result);”。但这对于这个问题来说有点过分了。

  2. 我需要使用 Base64 编码/解码吗?如何使用?

  3. 有没有更简单的方法或 hack 可以在没有 PHP 的情况下仅使用 Javascript 来完成它?

提前致谢。

最佳答案

好吧,我认为您正在使它变得更复杂更简单我尝试了下面的代码并且它对我有用

        <img id='favicon' src='http://getfavicon.appspot.com/http://www.google.com'/> 

那么为什么要使用 ajax 请求,即使您想更改图像的来源,您可以使用 javascript 轻松完成

   document.getElementById('favicon').src="address"; //address  can contain new source

关于javascript - 通过 Javascript 下载网站的 favicon.ico,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21050308/

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