• 13-01-2022, 14:05:20
    #1
    Selamlar herkese, modal ile harici bir web sitesini açıp gösterebilir miyim?
    Tıpkı instagramda bir web sitesi linkine tıklandığında uygulamadan ayrılmadan kendi penceresinde gösterdiği gibi.
  • 13-01-2022, 14:12:13
    #2
    buddy adlı üyeden alıntı: mesajı görüntüle
    Selamlar herkese, modal ile harici bir web sitesini açıp gösterebilir miyim?
    Tıpkı instagramda bir web sitesi linkine tıklandığında uygulamadan ayrılmadan kendi penceresinde gösterdiği gibi.
    iframe ile yapabilirsin karşı sitede cors firewall yoksa.
  • 13-01-2022, 14:38:36
    #3
    Bir zamanlar asenkron sayfa yüklemeyi araştırmıştım. Yanlış hatırlamıyorsam aşağıdaki koda kadar geliştirebilmmiştim kodu en fazla. Konsola yapıştırıp bir linkte tıklarsanız asenkron getirecektir sayfayı js kodlarıyla birlikte. Editörleri çalıştırmıyor tek hatası şu anlık bu. Bir de tıklanan link aynı domain altında mı bunun kontrolünü eklerseniz sorunsuz çalışacaktır. Farklı link ise iframe ille getirmek daha uygun olacaktır. Back end ile sayfa kaynağını çekseniz bile sorunlu çalışır. Aynı domain için bu kodu faarklı domain için iframeyi kullanabilirsiniz.
     document.querySelectorAll('a').forEach(el => {
                el.addEventListener('click', (e) => {
                    e.preventDefault();
    
                    var url = el.href;
                    var xhr = new XMLHttpRequest();
                    xhr.open('GET', url, true);
                    xhr.onload = function () {
    
                        var parser = new DOMParser();
                        const pr = parser.parseFromString(this.responseText, "text/html");
                        document.querySelector('html').innerHTML = pr.querySelector('html').innerHTML;
                        pr.querySelectorAll('head style').forEach(es => {
                            var sc = document.createElement('style');
                            sc.src = es.src;
                            document.querySelector('head').appendChild(sc);
                        });
    
                        pr.querySelectorAll('script').forEach(element => {
                            var d = document.createElement('script');
                            if (element.src) {
                                d.src = element.src;
                            }
    
                            d.async = false;
                            d.textContent = element.textContent;
                            document.body.appendChild(d);
                        });
    
                    }
                    xhr.send();
                })
            });
    • buddy
    buddy bunu beğendi.
    1 kişi bunu beğendi.