Определить, если .append не возможно? - PullRequest
0 голосов
/ 06 октября 2010

Я создаю модальное окно bookmarklet, которое позволяет вам быстро добавлять контент на мой сайт.Все работает отлично и отлично, за исключением не HTML-контента, потому что тогда он не может добавлять данные в тело.Вместо этого я хотел бы сделать простое location.href.

Текущий код:

if (typeof jQuery == 'undefined') {
    var jQ = document.createElement('script');
    jQ.type = 'text/javascript';
    jQ.onload=runthis;
    jQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js';
    document.body.appendChild(jQ);
} else {
    runthis();
}

function runthis() {
    if ($("#baasframe").length == 0) {

            $("body").append("\
            <div id='baasframe'>\
            <div id='baasframe_veil' style=''>\
                <p>Loading...</p>\
            </div>\
            <iframe src='http://example.com/submit.php?url="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title)+"' onload=\"$('#baasframe iframe').slideDown(500);\">Enable iFrames.</iframe>\
            <style type='text/css'>\
                #baasframe_veil { display: none; position: fixed; width: 100%; height: 100%; top: 0; left: 0; background-color: rgba(0,0,0,.50); cursor: pointer; z-index: 900; }\
                #baasframe_veil p { color: white; font: normal normal bold 20px/20px Helvetica, sans-serif; position: absolute; top: 50%; left: 50%; width: 10em; margin: -10px auto 0 -5em; text-align: center; }\
                #baasframe iframe { display: none; position: fixed; top: 10%; left: 10%; width: 80%; height: 80%; z-index: 999; border: 10px solid rgba(0,0,0,.5); margin: -5px 0 0 -5px; }\
            </style>\
        </div>");
        $("#baasframe_veil").fadeIn(750);
    }

$("#baasframe_veil").click(function(event){
    $("#baasframe_veil").fadeOut(750);
    $("#baasframe iframe").slideUp(500);
    setTimeout("$('#baasframe').remove()", 750);
});
}

function getSelText() {
var s = '';
if (window.getSelection) {
    s = window.getSelection();
} else if (document.getSelection) {
    s = document.getSelection();
} else if (document.selection) {
    s = document.selection.createRange().text;
}
return s;
}

Как я могу обнаружить, что добавление данных не сработало, и направить еговместо location.href?

Обязан,

Деннис

1 Ответ

1 голос
/ 07 октября 2010

Использование document.documentElement.

...