Yüklenen bir yazı tipi dosyasını (TTF) kullanarak bir öğenin yazı tipini dinamik olarak değiştirebilen bir kod geliştirmeye çalışıyorum. Aşağıdaki kod, Chrome, Opera ve Firefox'ta sorunsuz çalışıyor ancak IE, Edge ve Safari'de çalışmıyor.JavaScript/JQuery ile CSS yazı tipi-yüzünü dinamik olarak değiştirin
<html>
<head>
<style>
#my-font {
margin-top: 50px;
font-size: 20pt;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(function(){
$("#font").change(function(){
// post the font file to the php script that will move the file uploaded to the folder "fonts"
$.ajax({
url: 'movefontfile.php',
type: 'POST',
data: new FormData($("#send")[0]),
processData: false,
contentType: false,
}).done(function(name){
// set the font face
var f = new FontFace("myfont", "url(fonts/"+name+")", {});
f.load().then(function (loadedFace) {
document.fonts.add(loadedFace);
var fptags = document.getElementById('my-font');
fptags.style.fontFamily = "myfont, sans-serif";
});
});
})
});
</script>
</head>
<body>
<form id="send">
<input type="file" id="font" name="font">
</form>
<p id="my-font">
This is a font text
</p>
</body>
</html>
Bu php kodudur:
<?php
$name = $_FILES['font']['name'];
move_uploaded_file($_FILES['font']['tmp_name'], 'fonts/'.$name);
echo $name;
?>
Birisi bana yardımcı olabilir? Her popüler tarayıcıda çalışan bir koda ihtiyacım var. Teşekkürler.
olasılıkla sayfayı yeniden zorunda kalacak Bu tarayıcılarda. –