2010-10-06 5 views
0

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

Текущий код:

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 вместо этого?

Премного,

Dennis

ответ

1

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

+0

Привет, Эли, я пробовал это, но это не сработало, попробовали ли вы сами, чтобы увидеть, работает ли это? – FLX

+0

Я думаю, ваша проблема в том, что вы используете 'onload' в теге скрипта, который, я сомневаюсь, многие браузеры будут поддерживать. –

Смежные вопросы