cari

Rumah  >  Soal Jawab  >  teks badan

jquery - tab jquey ajax memuatkan masalah konflik html?

html memuatkan tab mengandungi js, html dan id Mungkin terdapat konflik Bagaimana untuk menyelesaikannya.

(Tiada ifame diperlukan. Setiap kali iframe dimuatkan, ia jelas tidak sehebat beban. Walaupun ia dicache, ia perlu dimulakan dengan banyak. Lebih-lebih lagi, sangat sukar untuk memaparkan dialog di dalam iframe di luar iframe Dialog yang sama akan dipaparkan pada berbilang halaman Masalah ini berlaku)

迷茫迷茫2797 hari yang lalu913

membalas semua(1)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 16:51:51

    Terdapat tiga pilihan:

    1. Gunakan beberapa konvensyen penamaan untuk mengubah suai id kepada bentuk tidak bercanggah. Walaupun penyelesaian ini nampaknya paling tidak selaras dengan keperluan subjek, saya secara peribadi mengesyorkannya, yang akan mengurangkan banyak masalah pada peringkat seterusnya. Jika html ini secara logik pada antara muka yang sama, maka ia sepatutnya mempunyai id yang berbeza, jika tidak, anda akan menghadapi masalah semasa menulis logik dan gaya pada masa hadapan.

    2. Dengan mengandaikan bahawa hanya html tab akan mempunyai konflik ID, dan hanya terdapat satu tab dipaparkan pada masa yang sama, maka anda boleh mempertimbangkan untuk menanggalkan tab yang tidak dipaparkan daripada DOM setiap kali anda memotong tab dan tambahkannya apabila diperlukan.

    3. Gunakan <iframe src="about:blank"></iframe> untuk memaparkan html, dan kandungannya boleh diubah suai dengan menetapkan <iframe>'s contentWindow.document.body.innerHTML. Jika anda masih mahu dapat memaparkan gaya dan skrip luaran HTML dengan baik, serta pelbagai dialog, anda juga boleh menggunakan pelbagai kaedah penggodaman, tetapi ia masih merupakan penggodaman dengan masalah yang tidak berkesudahan.

    P.S. Atas permintaan subjek, saya akan menambah beberapa idea hack.

    1. Bagaimana untuk membuat dialog UI jQuery dimasukkan ke dalam tempat yang ditentukan secara lalai?

    Anda boleh mengatasi pilihan lalai dialog melalui kod berikut, yang penting ialah pilihan appendTo.

    $.extend($.ui.dialog.prototype.options, {
        appendTo: tabNode
    });
    

    Tetapkan pilihan ini setiap kali sebelum memuatkan tab atau selepas menukar tab, dan tetapkan pada nod tab yang sedang dipaparkan.

    balas
    0
  • Batalbalas