2012-05-18 14 views
7

Ho un file html di base (base.html) e al suo interno risiede un iframe che utilizza (iframe.html). L'iframe appare solo quando si fa clic su una determinata voce di menu. Entrambi sono ospitati nello stesso dominio.Impossibile ispezionare un elemento utilizzando gli strumenti di sviluppo di Chrome

In base.html includo uno script che punta a un servizio esterno che utilizzo. Compreso lo script restituisce un oggetto che vive sulla mia pagina.

<script type="text/javascript" src="externalSite.com/myID.js"></script> 

In iframe.html ho un altro script che costruisce un menù a base di alcuni degli attributi dell'oggetto che viene restituito

<script type="text/javascript" src="my_list_builder.js"></script> 

il codice per my_list_builder.js simile a questa:

var myList = parent.externalAPI.getItems() 
var listBlock = "<div><ul>" 

for (var i = 0; i < myList.length; i++) { 
    listBlock += '<li><span>'+ myList[i].Name + '</span></li>'; 
} 

listBlock += '</ul></div>' 

$('someElement').append(listBlock); 

Ora, questo codice viene eseguito come previsto e aggiunge il listBlock alla pagina in cui lo voglio, ma quando cerco di ispezionare qualsiasi degli elementi all'interno del iframe in Chrome sono in grado di fare così. L'iframe è l'elemento di livello più basso che posso ispezionare, ma non ha la solita opzione a discesa. Se rimuovo my_list_builder.js riesco a ispezionare gli elementi nell'iframe senza problemi.

Qualche idea su cosa potrebbe causare il problema?

+0

Questo succede regolarmente su jsfiddle.net. Se premi shift-enter o il pulsante "run" della barra degli strumenti per aggiornare la finestra di anteprima, l'ispettore non funzionerà nella finestra di anteprima finché non premi "salva"/"aggiorna". Sicuramente qualcosa con il contenuto generato dinamicamente in un iframe. Mi piacerebbe sapere perché, o se c'è un problema di cromo da recitare. –

+0

Per il momento ho trovato una strana soluzione, anche se non sono più vicino al "perché" del perché ha problemi in primo luogo. Anche questa soluzione non è coerente, ma ho pensato di elencarlo in caso di altri problemi simili. Se metto i punti di interruzione in my_list_builder.js e li passo, dopo che l'iframe ha terminato il caricamento, sono in grado di ispezionare gli elementi nell'iframe. Se rimuovo i punti di interruzione, apporta le modifiche a my_list_builder.js e salvo poi ricarico, quindi il problema viene ritagliato. Non sono sicuro del perché i punti di interruzione hanno aiutato, ma sono contento che lo facciano! – megsa

+0

Penso che dovresti registrarlo come un bug @ il bug tracker di Chrome, non come una domanda su SO. – Daan

risposta

Problemi correlati