Bearbeiten 1
Das liegt nicht am Browser. Dies passiert, wenn ich nicht angemeldet bin. Wenn ich mich angemeldet habe, funktioniert es einwandfrei. Entschuldige die Eile.
Ich weiß, es ist seltsam und macht keinen Sinn, auch schwer zu erklären.
Wie der Titel schon sagte, verursacht der Browser dieses Problem, aber ich bin mir nicht sicher.
Ich habe also einen Bilddienst, der einige Daten von irgendwoher liest und anhand der gelesenen Daten Bilder erstellt. Dann macht es ein paar Dinge und gibt die Bilder im base64-Format zurück, damit ich die Bilder auf meiner Website verwenden kann. Dieser Prozess beginnt, sobald ich eine Seite meiner Website öffne.
Das Problem ist, dass wenn ich die Seite in Safari öffne, es richtig funktioniert, aber heute habe ich versucht, die Seite in Chrome zu öffnen und Bilder wurden nicht geladen. Also habe ich die Bilder überprüft und festgestellt, dass es keine gibt data
-Attribut am Anfang des Daten-URI.
Lassen Sie es mich anhand eines Beispiels erklären;
Hier ist mein Code beim Erstellen der HTML-Vorlage
presets += `<div class="icon"> <img src="data:image/png;base64,${icon}"></div>`
presets += `<p class="name">${name}</p>`
presets += `<div class="image"> <img src="data:image/png;base64,${image}"/></div>`
Ich mache ein paar Dinge und gebe dann diese Daten zurück und auf Postbote und Safari erhalte ich dieses Ergebnis:
<div class="icon"> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA{ ... }"></div>
Das ist also in Ordnung. Daran ist nichts falsch.
Aber wenn ich die Seite in Chrome oder Opera öffne, bekomme ich das;
<div class="icon"> <img src="https://stackoverflow.com/questions/59089442/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA{ ... }"></div>
Sehen? Nein data
Attribut. Ich füge einen Beitrag in WordPress ein und dies ist der Inhalt des Beitrags. Warum passiert das? Ich hoffe, ich habe mich klar erklärt.
Bearbeiten 2
Dies ist die Funktion, die ich verwendet habe, um einen Beitrag einzufügen
function programmatically_create_post($title, $content, $slug)
{
// Setup the author,
$author_id = 4;
// If the page doesn't already exist, then create it
if (!the_slug_exists($slug)) {
// Set the post ID so that we know the post was created successfully
wp_insert_post(
array(
'post_title' => $title,
'post_content' => $content,
'comment_status' => 'closed',
'ping_status' => 'closed',
'post_author' => $author_id,
'post_name' => $slug,
'post_status' => 'publish',
'post_type' => 'post',
'page_template' => 'dynamic-post.php',
'post_category' => array(1,60)
)
);
// Redirect user to the post after the post created
wp_redirect(get_site_url() . '/blog/' . $slug);
exit();
// Otherwise, we'll stop
} else {
return;
} // end if
} // end programmatically_create_post
Ich füge einen Beitrag in WordPress ein und dies ist der Inhalt des Beitrags. – Wie einfügen? Verwenden Sie das CMS? Verwenden Sie die API? Direkt in die DB? Offensichtlich entfernt etwas diesen Inhalt, es wäre nützlich, den Prozess, den Sie Schritt für Schritt durchführen, zu verstehen und mehr von Ihrem Code zu sehen …
– naththedeveloper
28. November 2019 um 14:40 Uhr
Und wann wird es abgebaut? Während der Anzeige oder beim Speichern des neuen Beitrags? dh tut die
data:
Präfix erscheint in Ihrer Datenbank?– naththedeveloper
28. November 2019 um 14:42 Uhr
Nein, es erscheint nicht in meiner DB. Ich benutze
wp_insert_post
Funktion einzufügen. Es wurde beim Speichern des neuen Beitrags entfernt– Mustafa Demir
28. November 2019 um 14:44 Uhr
Ich denke auch, dass es um die Sicherheitssache von WordPress geht. Also habe ich die folgende Funktion in meine functions.php eingefügt, aber kein Glück
if ( ! function_exists( 'extend_allowed_html_tags' ) ) { function extend_allowed_html_tags() { global $allowedposttags; $allowedposttags['img']['data'] = true; } } add_action( 'init', 'extend_allowed_html_tags');
– Mustafa Demir
28. November 2019 um 14:47 Uhr
@naththedeveloper Ich habe meine Frage aktualisiert. Ich habe ein paar Dinge ausprobiert, wie das Zulassen von HTML-Tags, aber es hat überhaupt nicht funktioniert.
– Mustafa Demir
28. November 2019 um 15:44 Uhr