我正在尝试使用 javascript 获取现有页面上的项目和图像的 Base64
P粉426780515
P粉426780515 2024-01-16 15:06:31
0
1
454

抱歉,我以为您会明白,因为无法为此 Javascript 启动新线程。给出了这个新的

哇,我上次尝试的是

var main_artwork = this.document.getElementById("np_track_artwork");
var title_album = this.document.getElementById("artwork_tit");
var base64art1 = title_album.src ; // Already base64
var base64art2 = getBase64StringFromDataURL(main_artwork.src);

这不会仅在来自 SQL 的图像上返回基数 64,这是因为它在 Apache 服务器上吗?

错误因异常而暂停:未定义或为 null

我在编辑器中尝试过使用“控制台”时遇到问题,也许这已经改变了,请更新您的页面并删除不可行的内容,这太令人沮丧了

function fetchbase64(transport2) {
    const image = document.getElementByid(transport2);
    fetch(image.src)
       .then((res) => res.blob())
       .then((blob) => {
           const reader= new FileReader();
           reader.onloadended = () => {
                console.log(reader.result);
                const base64 = getBase64StringFromDataURL(reader.result);
               //console.log(base64);
           };
            reader.readAsDataUrl(Blob);
            return base64;
         });
}

错误:

ReferenceError:blob 未定义。并在异常时暂停。所以为什么 是说无法形成blob吗?

我也在尝试下面这个,我认为用 onload 会取代它 图像的内容采用base64,但是它不这样做,我不知道为什么。我 另请注意,这应该是调试器在其中声明的图像 blob 参数为 1,但它不是。

在有人说这之前,这没有任何帮助,给出了同样的错误没有答案 这似乎是常态: 如何解决“未捕获的引用错误:blob 未定义”?

在这种情况下,elm 被评估为 img#np_track_artwork {alt:'Playing 跟踪艺术品',src:'http://blah.com/now-playing.png,srcset:''尺寸: '', crossOrigin:null ...} 在我看来像一个斑点?所以我重写了 它对我来说看起来不错:

function encodeBase64(elm) {
   var file = new blob([JSON.stringify(elm,null,elm.length)],{type:'image/gif'});
   var imgReader = new FileReader();
   imgReader.onloadend = function(){
       console.log('Base64 Format', ImgReader.result);
   }
   imgReader.readAsDataURL(file);
   var main = this.document.getElementById("np_track_artwork");
   main.currentSrc =  "data:image/gif;base64,"+imgReader.readAsDataURL(file);
}
<img onchange="encodeBase64(this);" src="blahmasoganistic.png">


//** so i tried this which also failed to do much at all from some ones
//   site why does this stuff never work dont people believe in taking
//  it down.**
function encodeBase64(elm) {
   var file = elm.files[0];
   var imgReader = new FileReader();
   imgReader.onloadend = function(){
       console.log('Base64 Format', ImgReader.result);
   }
   imgReader.readAsDataURL(file);
   var main = this.document.getElementById("np_track_artwork");
   main.currentSrc =  "data:image/gif;base64,"+imgReader.readAsDataURL(file);
}

我还倾向于创建一个新的 blob,以防数组 var file = new blob ,elm.toString(),{'image/gif'}); 但这给出了相同的结果参数 1 而不是 imgReader.readADatUrl(file);

中的斑点

我收到这条令人沮丧的消息

您现在无法发布新问题抱歉,我们不再 接受来自您帐户的问题,因为您的大部分问题 需要改进或者超出了本网站的范围。查看帮助 中心页面 为什么我的问题不再被接受 帐户?了解更多信息。

请不要创建新帐户。相反,努力提高你的 通过编辑现有问题以符合网站的要求 指南并处理您收到的任何反馈。你也可以 继续以其他方式为网站做出贡献,例如编辑 其他帖子来改进它们。

当我尝试提出与我已完成的问题无关的不同问题时,我被承诺调查什么也没有发生,我想这是一个男性占主导地位的含义是什么,你不希望女性在这里?

我正在使用 JavaScript 将 GIF 放置在背景上,尽管这会创建下面的文本,但不会更新页面,我不确定为什么没有人可以提供帮助?

表中 HTML 部分为

在调试器中,如果我在控制台中输入变量,它将在 object_dj 中返回以下内容:

我也尝试过使用它也返回此内容作为背景图像:“”;

object_dj = document.getElementById("DJ");
object_dj.style.backgroundImage = url("images/bandicam-2023-03-31-14-59-01-846.gif");

我什至尝试使用正确的网址 object_dj.style.backgroundImage = 'http://d.ezyro.com/images/bandicam-2023-03-31-14-59-01-846.gif';

object_dj.style.backgroundImage 仍然是“”发生了什么事我可以用样式表设置它

.DJvid {  
   background-image:url("images/background3.png");
   height:250px;
   background-repeat: no-repeat; 
   background-size: 250px,350px;
   background-position: bottom;
   width:400px;
   
 
}

我已经尽力了。 pUrl 获取 url,但它永远不会将其分配给 object_dj.style.backgroundImage 并将其分配给 url() 返回“” pUrl 中包含 url “http://d.ezyro.com/images/ezgif-2-f0284e7093b1 .gif”(不是真实的网址)。 url() 似乎不起作用,也许是因为它不是 https 而是 http? :

pImageUrl = "images/bandicam-2023-03-31-14-59-01-846.gif";
pUrl =  baseURL + pImageUrl;
object_dj.style.backgroundImage = pUrl;

在被删除之前我又尝试了

$('DJ').css("backgroundImage","url(pUrl)");

调试器控制台中的 div 背景仍然没有给出任何内容,屏幕上也没有任何变化

控制台: object_dj.style.backgroundImage ''

我使用的 JavaScript 是

object_dj = document.getElementById("DJ");
baseURL = "http://d.ezyro.com/";
object_dj.setAttribute('style', 'background-image: url('+baseURL+'images/ezgif-2-f0284e7093b1.gif)');

P.S 网站 d 不存在。

现在,随着此步骤的工作,一定缺少重画或某些内容,也许您可​​以指导我通过更新页面来完成此工作。

我尝试过用一些垃圾更改数据:

object_dj.style.opacity=0.99;
setTimeout(()=> {object_dj.style.opacity=''},0);

还尝试并验证了图像:

var imageUrl = "images/bandicam 2023-03-31 14-59-01-846.gif";
const pUrl = new URL(baseURL, imageUrl);
object_dj.style.backgroundImage = `url("${pUrl}")`;

错误

VM313:1 未捕获的引用错误:imageURL 未定义 在评估(评估在(music_now_playing.php:1:1),:1:1) 于:1:1

我尝试添加变量 它决定不给出错误。

这是来自控制台,您的示例不会在我的网站上加载网址:

bpm
<div class=​"hidden" id=​"#bpm">​196​</div>​
imageUrl
'images/bandicam 2023-03-31 14-59-01-846.gif'
object_dj.style.backgroundImage
pUrl
VM110:1 Uncaught ReferenceError: pUrl is not defined
    at eval (eval at <anonymous> (music_now_playing.php:1:1), <anonymous>:1:1)
    at <anonymous>:1:1
eval @ VM110:1
(anonymous) @ VM96:1
baseURL
'http://d.ezyro.com/'
imageURL
VM147:1 Uncaught ReferenceError: imageURL is not defined
    at eval (eval at <anonymous> (music_now_playing.php:1:1), <anonymous>:1:1)
    at <anonymous>:1:1

似乎是 imageURL 导致了问题?

我也尝试过: stackflow.com/questions/8840580/force-dom-redraw-refresh-on-mac 但没有一个答案有效。有没有新的方法可以做到这一点?

object_dj.scrollBy(0,0); 也没有形成它并且它没有在 JQuery.fn.redraw() 中识别 JQuery

P粉426780515
P粉426780515

全部回复(1)
P粉925239921

假设服务器向您提供了图像,那么它可能会缓存在某个地方?重绘或以其他方式强制重新渲染可能会起作用。尝试这样:

object_dj = document.getElementById("DJ");
baseURL = "http://d.ezyro.com/";
imageUrl = baseURL + "images/ezgif-2-f0284e7093b1.gif";
object_dj.style.backgroundImage = "url(" + imageUrl + ")";
object_dj.parentNode.removeChild(object_dj);
object_dj.parentNode.appendChild(object_dj);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板