2010-10-15 5 views
0

J'ai une application Windows qui contient un contrôle de navigateur qui charge les pages de mon site Web. Cependant, en raison de l'application Windows, je ne peux pas déboguer Javascript de la manière habituelle (Firebug, console, alertes, etc).Ajout à la fenêtre du navigateur externe

J'espérais écrire une fenêtre de navigateur plug-in jQuery pour vous connecter à un externe tel que je peux simplement faire quelque chose comme:

$.log('test'); 

Jusqu'à présent, avec ce qui suit, je suis en mesure de créer la fenêtre et afficher le TemplateContent, mais ne peut pas écrire des messages à ce:

var consoleWindow; 

function getConsoleWindow() { 
    if (typeof (consoleWindow) === 'undefined') { 
     consoleWindow = createConsoleWindow(); 
    } 

    return consoleWindow; 
} 

function createConsoleWindow() { 
    var newConsoleWindow = window.open('consoleLog', '', 'status,height=200,width=300'); 
    var templateContent = '<html><head><title>Console</title></head>' + 
          '<body><h1>Console</h1><div id="console">' + 
          '<span id="consoleText"></span></div></body></html>'; 
    newConsoleWindow.document.write(templateContent); 
    newConsoleWindow.document.close(); 
    return newConsoleWindow; 
} 

function writeToConsole(message) { 
    var console = getConsoleWindow(); 
    var consoleDoc = console.document.open(); 
    var consoleMessage = document.createElement('span'); 
    consoleMessage.innerHTML = message; 
    consoleDoc.getElementById('consoleText').appendChild(consoleMessage); 
    consoleDoc.close(); 
} 

jQuery.log = function (message) { 
    if (window.console) { 
     console.log(message); 
    } else { 
     writeToConsole(message); 
    } 
}; 

Actuellement, getElementById ('consoleText') échoue. Est ce que je suis après possible, et si oui, qu'est-ce que je manque?

Répondre

0

Si je ne ferme pas() le document, il semble fonctionner comme je l'espérais.

0

Essayez d'ajouter

consoleDoc.getElementById('consoleText'); 

juste avant

consoleDoc.getElementById('consoleText').appendChild(consoleMessage); 

Si la ligne que vous avez ajouté est celui qui échoue, cela signifie consoleDoc ne va pas, si la ligne suivante est la seule qui échoue alors ..ById ('consoleText') ne correspond pas

Questions connexes