Ben kendi imleyicisini yapmaya çalışıyorum ve ben zaten benim komut aldığım garip reaksiyonu cevap SO şey ama bazı yanıt okumaya çalıştım.
Benim Bookmarklet bir AJAX çağrısı yapıyorum, bu yüzden ben biraz hile yapmak:
var newScript = document.createElement("script");
newScript.type = "text/javascript";
newScript.src = "http://example.com/urlToMyJS.js";
document.body.appendChild(newScript);
void(0);
Ve urlToMyJS.js bu gibi:
var u = 'http://example.com/scriptToCall.php';
var request = new XMLHttpRequest();
request.open("GET", u, true);
request.onreadystatechange = function() {
var done = 4, ok = 200;
if (request.readyState == done && request.status == ok) {
if (request.responseText) {
alert(request.responseText);
}
}
};
request.send(null);
Garip bir parçasıdır:
- Javascript her zaman başlatılır ve scriptToCall.php her zaman çok denir (her isabet kaydeder)
alert
gösterirresponseText
Ben Bookmarklet tıkladığınızda example.com- Bazen, diğer sitelerde,
alert
hiçbir şey gösterir (ama yine de görünür) - Diğer bazı zamanlar,
alert
(... ama hala günlük hit) bile ... görünmüyor
Eğer bunu yapmaz neden herhangi bir fikrin var mı? Ve evet eğer, ben bunu her zaman göstermek yapmak nasıl bir fikrin var mı responseText
?