- Используйте
encodeURIComponent(location.href)
вместо document.URL
* - Вы можете создать IFRame и установить его свойство
src
. - Другой вариант - выполнитьXMLHttpRequest [1]
(new Image).src = url
window.open(url)
(может быть заблокировано, мешает пользователю) - Создать форму и отправитьэто (используя
target=__
, где __
может быть _blank
или именем кадра.
[1] Этот метод не работаетв разных доменах. См. также: MDN: использование XMLHttpRequest .
Другой метод (позволяет передавать отзывы с сервера в виде кода JavaScript).
javascript:void(function(){
var s = document.createElement("script");
s.src = "http://localhost:8888/test/index.php?site="
+ encodeURIComponent(location.href);
document.body.appendChild(s);
})();
Использование изображения:
javascript:void(function(){
(new Image()).src = "http://localhost:8888/test/index.php?site=" +
encodeURIComponent(location.href);
})();
EDIT alert + auto close
Как и было запрошено в комментариях, чисто JS-предупреждение, которое автоматически закрывается по истечении определенного времени. Я сохранил функциюпростой, для образовательных целей. Если вы ленивы, JQuery также является опцией, хотя излишне включать целую структуру для , автоматически скрывающего "эль"rt "box
/* @name alertFade
@description Shows a message, closing automatically after # milliseconds
@param String message Message to display
@param number autoclose_ms Time in milliseconds till the message has to be closed
@param number softFade_ms Time in milliseconds for the fade animation*/
function alertFade(message, autoclose_ms, softFade_ms){
if(typeof message == "undefined") message = "";
if(isNaN(autoclose_ms)) autoclose_ms = 3000;
if(isNaN(softFade_ms)) softFade_ms = 1000;
var container = document.createElement("div"),
alertBox = document.createElement("div"),
alertContent = document.createElement("div"),
dismiss = document.createElement("div");
container.style.cssText = "position:fixed;top:0;left:0;width:100%;height:100%;display:table;opacity:1;background:transparent;";
alertBox.style.cssText = "display:table-cell;vertical-align:middle;text-align:center;";
alertContent.style.cssText = "display:inline-block;white-space:pre-wrap;word-wrap:break-word;background:#DDF;font-size:normal;padding:5px";
dismiss.style.cssText = "font-size:small;border-bottom:1px solid #CCC";
dismiss.appendChild(document.createTextNode("(Click to dismiss)"));
dismiss.onclick = fadeClose;
alertContent.appendChild(dismiss);
alertContent.appendChild(document.createTextNode(message));
alertBox.appendChild(alertContent);
container.appendChild(alertBox);
document.body.appendChild(container);
var alertAutoClose = window.setTimeout(fadeClose, autoclose_ms);
var fadeTimer;
function closeAlert(){
window.clearTimeout(alertAutoClose);
window.clearInterval(fadeTimer);
if(container.parentNode) container.parentNode.removeChild(container);
}
function fadeClose(){
if(!softFade_ms) return closeAlert(); //No fade = close immediately
var opacity = 1;
fadeTimer = window.setInterval(function(){
opacity -= .1; //Reduce the opacity by 10% per interval
if(opacity <= 0) return closeAlert();
container.style.opacity = opacity;
}, softFade_ms/10);
}
}
//Example:
alertFade("Message!");