krom uzantısı değişen ana bilgisayar/etki alanı uyarısı

Belirli bir web sitesini test ederken beni ana bilgisayar/etki alanı değişikliklerinden haberdar edecek bir krom uzantısı oluşturmaya çalışıyorum. Genellikle, geliştirici veya canlı ortamlara işaret eden bağlantılar mevcut olacaktır ve web sitelerinin çoğu zaman aynı olduğu için bu bağlantılardan birini takip edersem uyarılmak istiyorum.

Netlik için düzenleme: Bir bağlantı beni http (ler): //example.staging.something.com adresinden uzaklaştırdığında ve http://www.example.com adresindeki canlı siteye girdiğinde beni uyarmasını istiyorum. veya dev site http (s): //example.dev.something.com

Şimdiye kadar aşamalı bir URL’de (test ortamımız) olduğumu belirten bir komut dosyası oluşturmayı başardım, ancak içermeyen bir URL’ye gittiğimde bana uyarı vermek için bu mantığı tersine çeviremedim evreleme'.

Benim tezahürüm.

{
"manifest_version": 2,

"name": "A What URL",
"description": "This extension monitors and warns you of domain changes",
"version": "1.0",

"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},

"background": { "scripts": ["background.js"],
"persistent": false
},

"permissions": [
"activeTab",
"webNavigation"
]
}

background.js

   chrome.webNavigation.onCommitted.addListener(function(e) {
        alert ("you are still on staging!");
  }, {url: [{hostContains: 'staging'}]});

Bunun basit olduğuna eminim ama beynim çok daha basit!

0
1) Lütfen Rob'ın çözümüne bakın, farklı ve göz önünde bulundurmaya değer, 2) Lütfen sorunuzu çözümlemeyin. Sadece başka bir cevap olarak ekleyin.
katma yazar Xan, kaynak
Demek istediğim, sorunuzu olduğu gibi yanıtlayabilirim (bu örnekte mantığı nasıl ters çevirirsiniz), ama belki de "ideal" mantığınıza bağlı olarak daha uygun bir cevap olabilir.
katma yazar Xan, kaynak
Hangi noktada haberdar olmak istiyorsun? Ve yakalandığında ne yapmak istersin?
katma yazar Xan, kaynak
Demek istediğim, hedefiniz gezinmeyi engellemek değil, yalnızca bilgilendirilmek mi?
katma yazar Xan, kaynak
Demek istediğim, hedefiniz gezinmeyi engellemek değil, yalnızca bilgilendirilmek mi?
katma yazar Xan, kaynak
1) Lütfen Rob'ın çözümüne bakın, farklı ve göz önünde bulundurmaya değer, 2) Lütfen sorunuzu çözümlemeyin. Sadece başka bir cevap olarak ekleyin.
katma yazar Xan, kaynak
1) Lütfen Rob'ın çözümüne bakın, farklı ve göz önünde bulundurmaya değer, 2) Lütfen sorunuzu çözümlemeyin. Sadece başka bir cevap olarak ekleyin.
katma yazar Xan, kaynak
Bu geçiş gerçekleştiğinde, benim için uygun olduğunu düşünüyorum, ancak diğerlerine bakabildiğim halde onCommitted'nın bunun için doğru eylem olduğunu düşünüyorum. Başlangıçta sadece uyarılmak istiyorum, alarmın açılışı yeterli, ancak nihayetinde biraz daha gösterişli yapmak için api bildirimlerini kullanmak istiyorum.
katma yazar Ed Carter, kaynak
Evet tam olarak bu!
katma yazar Ed Carter, kaynak
Evet tam olarak bu!
katma yazar Ed Carter, kaynak
Evet tam olarak bu!
katma yazar Ed Carter, kaynak

9 cevap

Sorunu çözmenin birçok yolu var.

  • Use the chrome.webRequest.onBeforeSendHeaders (or .onSendHeaders) event to get notified when a request is sent to your production website, and check whether the Referer header is set to your staging site. This only works if the document referrer is set (this won't be the case if you're navigating from https to http, or if the "noreferrer" referrer policy is set).

  • In the absence of a referer, use the webNavigation, webRequest and/or tabs APIs to track the navigation state of a page, and do whatever you want when you detect that the transition production -> dev occurs. Implementing this correctly is very difficult.

İşte ilk yöntem için bir örnek:

// background.js
chrome.webRequest.onBeforeSendHeaders.addListener(function(details) {
    var referer;
    for (var i = 0; i < details.requestHeaders.length; ++i) {
        var header = details.requestHeaders[i];
        if (header.name.toLowerCase() === 'referer' && header.value) {
            referer = header.value;
            break;
        }
    }
    if (referer && /^https?:\/\/dev\.example\.com(\/|$)/.test(referer)) {
        alert('Navigated from dev to production!');
    }
}, {
    urls: ['*://production.example.com/*', '*://prod.example.com/*'],
    types: ['main_frame', 'sub_frame']//Track navigations, not img/css/etc.
}, ['requestHeaders']);

Önceki mantığı test etmek için manifest.json örneği:

{
    "name": "Detect nav from dev to prod",
    "version": "1",
    "manifest_version": 2,
    "background": {
        "scripts": ["background.js"],
        "persistent": true
    },
    "permissions": [
        "webRequest",
        "*://*/*"
    ]
}
2
katma
Bu kesinlikle daha iyi bir çözüm, ancak OP 'e gereksinimlerini dikkatlice sordum. Bu çözüm yukarıda ve öte :)
katma yazar Xan, kaynak
@Xan OP, bu soruyu göndermeden önce benimle e-posta yoluyla bir konuşma başlattı, bu da akıl okumayı biraz kolaylaştırdı.
katma yazar Rob W, kaynak

Sorunu çözmenin birçok yolu var.

  • Use the chrome.webRequest.onBeforeSendHeaders (or .onSendHeaders) event to get notified when a request is sent to your production website, and check whether the Referer header is set to your staging site. This only works if the document referrer is set (this won't be the case if you're navigating from https to http, or if the "noreferrer" referrer policy is set).

  • In the absence of a referer, use the webNavigation, webRequest and/or tabs APIs to track the navigation state of a page, and do whatever you want when you detect that the transition production -> dev occurs. Implementing this correctly is very difficult.

İşte ilk yöntem için bir örnek:

// background.js
chrome.webRequest.onBeforeSendHeaders.addListener(function(details) {
    var referer;
    for (var i = 0; i < details.requestHeaders.length; ++i) {
        var header = details.requestHeaders[i];
        if (header.name.toLowerCase() === 'referer' && header.value) {
            referer = header.value;
            break;
        }
    }
    if (referer && /^https?:\/\/dev\.example\.com(\/|$)/.test(referer)) {
        alert('Navigated from dev to production!');
    }
}, {
    urls: ['*://production.example.com/*', '*://prod.example.com/*'],
    types: ['main_frame', 'sub_frame']//Track navigations, not img/css/etc.
}, ['requestHeaders']);

Önceki mantığı test etmek için manifest.json örneği:

{
    "name": "Detect nav from dev to prod",
    "version": "1",
    "manifest_version": 2,
    "background": {
        "scripts": ["background.js"],
        "persistent": true
    },
    "permissions": [
        "webRequest",
        "*://*/*"
    ]
}
2
katma
Bu kesinlikle daha iyi bir çözüm, ancak OP 'e gereksinimlerini dikkatlice sordum. Bu çözüm yukarıda ve öte :)
katma yazar Xan, kaynak
@Xan OP, bu soruyu göndermeden önce benimle e-posta yoluyla bir konuşma başlattı, bu da akıl okumayı biraz kolaylaştırdı.
katma yazar Rob W, kaynak

Sorunu çözmenin birçok yolu var.

  • Use the chrome.webRequest.onBeforeSendHeaders (or .onSendHeaders) event to get notified when a request is sent to your production website, and check whether the Referer header is set to your staging site. This only works if the document referrer is set (this won't be the case if you're navigating from https to http, or if the "noreferrer" referrer policy is set).

  • In the absence of a referer, use the webNavigation, webRequest and/or tabs APIs to track the navigation state of a page, and do whatever you want when you detect that the transition production -> dev occurs. Implementing this correctly is very difficult.

İşte ilk yöntem için bir örnek:

// background.js
chrome.webRequest.onBeforeSendHeaders.addListener(function(details) {
    var referer;
    for (var i = 0; i < details.requestHeaders.length; ++i) {
        var header = details.requestHeaders[i];
        if (header.name.toLowerCase() === 'referer' && header.value) {
            referer = header.value;
            break;
        }
    }
    if (referer && /^https?:\/\/dev\.example\.com(\/|$)/.test(referer)) {
        alert('Navigated from dev to production!');
    }
}, {
    urls: ['*://production.example.com/*', '*://prod.example.com/*'],
    types: ['main_frame', 'sub_frame']//Track navigations, not img/css/etc.
}, ['requestHeaders']);

Önceki mantığı test etmek için manifest.json örneği:

{
    "name": "Detect nav from dev to prod",
    "version": "1",
    "manifest_version": 2,
    "background": {
        "scripts": ["background.js"],
        "persistent": true
    },
    "permissions": [
        "webRequest",
        "*://*/*"
    ]
}
2
katma
Bu kesinlikle daha iyi bir çözüm, ancak OP 'e gereksinimlerini dikkatlice sordum. Bu çözüm yukarıda ve öte :)
katma yazar Xan, kaynak
@Xan OP, bu soruyu göndermeden önce benimle e-posta yoluyla bir konuşma başlattı, bu da akıl okumayı biraz kolaylaştırdı.
katma yazar Rob W, kaynak

Maalesef, filtreyi "ters" yapamazsınız, bu nedenle tüm olayları yakalamanız ve koddaki filtrelemeniz gerekir.

İşte Chrome Etkinlikleri geliyor. Kodunuz, onlara DOM olayları gibi davranmanızı önerir ( e parametresiyle). Bunun yerine, söz konusu olaya bağlı olarak argümanları iletirler, bazen birkaç tane.

belgelere bakarsanız, beklenen geri arama biçiminin :

function(object details) {...};

details 'ın diğerlerinin yanı sıra bir url özelliği içereceği yer.

Yani sahip olacaksınız:

chrome.webNavigation.onCommitted.addListener(function(details) {
 //Regexp matches first "//", followed by any number of non-/, followed by "staging"
  if(!details.url.match(/[^\/]*\/\/[^\/]*staging/)) {
    alert ("This is no longer staging!");
  }
});

Bunu kapatamazsanız, son derece sinir bozucu olacağını unutmayın - sonuçta hemen hemen her sayfa ile eşleşir.

0
katma
Bu garip. Regexp'imi test ettim ve iyi görünüyor .. Uyarıya detail.url eklemeyi deneyin.
katma yazar Xan, kaynak
onUpdated birçok kez başlatılıyor. comlpete durumuna göre filtrelemeye çalışın.
katma yazar Xan, kaynak
Bunun yerine tabs.onCreated ve tabs.onUpdated yöntemlerini deneyebilirsiniz (URL’ye erişmek için "sekmeler" iznine ihtiyacınız olacak)
katma yazar Xan, kaynak
Bunun için çok teşekkür ederim e.url kullanarak If ifadeleri ile uğraşmaya çalıştım ama .match yöntemini kullanmamıştım. Ancak bu şu anda sizin önermediğim gibi, her sayfa için uyarıları önerdi! URL dizesinin güvenli olan tam biçimi http: //*.staging.something.com/* ve https: //*.staging.something.com/*
katma yazar Ed Carter, kaynak
Maalesef yukarıdakiler net değilse, hazırlık sitemizi görüntülerken bu uyarıyı göremiyorum, hangisi uyarıyı göremiyorum?
katma yazar Ed Carter, kaynak
Ahh tamam, böylece yepyeni bir kurt sürüsü açıldı. Yaklaşık iki kere tetiklenir gibi gözüküyor: boş ve sonra PHP ile ilgili 2 örneğe geçiliyor. Bunun işe yarayacağını düşündüğüm webNavigation.onComleted olarak değiştirmeyi denedim ama aynı sonuçları aldım.
katma yazar Ed Carter, kaynak
Bu yüzden aslında regex çözümünüzle çalışmasını sağladım, ancak şimdi sekmeleri kullanarak ve Güncelleme'yi kullanmaya başladım, ancak hala URL'yi 'aşamalandırma' eksik olduğunu tespit ettiğinde hala birçok kez uyarıyor. Etkinleştirip yeni bir sekme yüklersem, örneğin chrome://newtab/URL üzerinde 3 uyarı verir. Daha sonra sekmeyi yenilediğimde uyarı iki kez verilir ve aynı sayfadaki diğer tüm yenileme iki tane oluşturur. Ek uyarı mesajlarını nasıl bastırabileceğime dair bir fikrim var mı? Şimdiye kadar tüm yardım için çok teşekkürler!
katma yazar Ed Carter, kaynak
Tamam, sanırım anladım! if (! url.match (/ [^ \ /] * \/\/[^ \ /] * hazırlama /) && changeInfo.status == "tamamlandı") {alert ("WTF !!!" + url); Sadece bir kez şimdi tetiklenecek gibi görünüyor!
katma yazar Ed Carter, kaynak

Maalesef, filtreyi "ters" yapamazsınız, bu nedenle tüm olayları yakalamanız ve koddaki filtrelemeniz gerekir.

İşte Chrome Etkinlikleri geliyor. Kodunuz, onlara DOM olayları gibi davranmanızı önerir ( e parametresiyle). Bunun yerine, söz konusu olaya bağlı olarak argümanları iletirler, bazen birkaç tane.

belgelere bakarsanız, beklenen geri arama biçiminin :

function(object details) {...};

details 'ın diğerlerinin yanı sıra bir url özelliği içereceği yer.

Yani sahip olacaksınız:

chrome.webNavigation.onCommitted.addListener(function(details) {
 //Regexp matches first "//", followed by any number of non-/, followed by "staging"
  if(!details.url.match(/[^\/]*\/\/[^\/]*staging/)) {
    alert ("This is no longer staging!");
  }
});

Bunu kapatamazsanız, son derece sinir bozucu olacağını unutmayın - sonuçta hemen hemen her sayfa ile eşleşir.

0
katma
onUpdated birçok kez başlatılıyor. comlpete durumuna göre filtrelemeye çalışın.
katma yazar Xan, kaynak
Bunun yerine tabs.onCreated ve tabs.onUpdated yöntemlerini deneyebilirsiniz (URL’ye erişmek için "sekmeler" iznine ihtiyacınız olacak)
katma yazar Xan, kaynak
Bu garip. Regexp'imi test ettim ve iyi görünüyor .. Uyarıya detail.url eklemeyi deneyin.
katma yazar Xan, kaynak
Bunun için çok teşekkür ederim e.url kullanarak If ifadeleri ile uğraşmaya çalıştım ama .match yöntemini kullanmamıştım. Ancak bu şu anda sizin önermediğim gibi, her sayfa için uyarıları önerdi! URL dizesinin güvenli olan tam biçimi http: //*.staging.something.com/* ve https: //*.staging.something.com/*
katma yazar Ed Carter, kaynak
Maalesef yukarıdakiler net değilse, hazırlık sitemizi görüntülerken bu uyarıyı göremiyorum, hangisi uyarıyı göremiyorum?
katma yazar Ed Carter, kaynak
Ahh tamam, böylece yepyeni bir kurt sürüsü açıldı. Yaklaşık iki kere tetiklenir gibi gözüküyor: boş ve sonra PHP ile ilgili 2 örneğe geçiliyor. Bunun işe yarayacağını düşündüğüm webNavigation.onComleted olarak değiştirmeyi denedim ama aynı sonuçları aldım.
katma yazar Ed Carter, kaynak
Bu yüzden aslında regex çözümünüzle çalışmasını sağladım, ancak şimdi sekmeleri kullanarak ve Güncelleme'yi kullanmaya başladım, ancak hala URL'yi 'aşamalandırma' eksik olduğunu tespit ettiğinde hala birçok kez uyarıyor. Etkinleştirip yeni bir sekme yüklersem, örneğin chrome://newtab/URL üzerinde 3 uyarı verir. Daha sonra sekmeyi yenilediğimde uyarı iki kez verilir ve aynı sayfadaki diğer tüm yenileme iki tane oluşturur. Ek uyarı mesajlarını nasıl bastırabileceğime dair bir fikrim var mı? Şimdiye kadar tüm yardım için çok teşekkürler!
katma yazar Ed Carter, kaynak
Tamam, sanırım anladım! if (! url.match (/ [^ \ /] * \/\/[^ \ /] * hazırlama /) && changeInfo.status == "tamamlandı") {alert ("WTF !!!" + url); Sadece bir kez şimdi tetiklenecek gibi görünüyor!
katma yazar Ed Carter, kaynak

Maalesef, filtreyi "ters" yapamazsınız, bu nedenle tüm olayları yakalamanız ve koddaki filtrelemeniz gerekir.

İşte Chrome Etkinlikleri geliyor. Kodunuz, onlara DOM olayları gibi davranmanızı önerir ( e parametresiyle). Bunun yerine, söz konusu olaya bağlı olarak argümanları iletirler, bazen birkaç tane.

belgelere bakarsanız, beklenen geri arama biçiminin :

function(object details) {...};

details 'ın diğerlerinin yanı sıra bir url özelliği içereceği yer.

Yani sahip olacaksınız:

chrome.webNavigation.onCommitted.addListener(function(details) {
 //Regexp matches first "//", followed by any number of non-/, followed by "staging"
  if(!details.url.match(/[^\/]*\/\/[^\/]*staging/)) {
    alert ("This is no longer staging!");
  }
});

Bunu kapatamazsanız, son derece sinir bozucu olacağını unutmayın - sonuçta hemen hemen her sayfa ile eşleşir.

0
katma
onUpdated birçok kez başlatılıyor. comlpete durumuna göre filtrelemeye çalışın.
katma yazar Xan, kaynak
Bunun yerine tabs.onCreated ve tabs.onUpdated yöntemlerini deneyebilirsiniz (URL’ye erişmek için "sekmeler" iznine ihtiyacınız olacak)
katma yazar Xan, kaynak
Bu garip. Regexp'imi test ettim ve iyi görünüyor .. Uyarıya detail.url eklemeyi deneyin.
katma yazar Xan, kaynak
Maalesef yukarıdakiler net değilse, hazırlık sitemizi görüntülerken bu uyarıyı göremiyorum, hangisi uyarıyı göremiyorum?
katma yazar Ed Carter, kaynak
Bunun için çok teşekkür ederim e.url kullanarak If ifadeleri ile uğraşmaya çalıştım ama .match yöntemini kullanmamıştım. Ancak bu şu anda sizin önermediğim gibi, her sayfa için uyarıları önerdi! URL dizesinin güvenli olan tam biçimi http: //*.staging.something.com/* ve https: //*.staging.something.com/*
katma yazar Ed Carter, kaynak
Tamam, sanırım anladım! if (! url.match (/ [^ \ /] * \/\/[^ \ /] * hazırlama /) && changeInfo.status == "tamamlandı") {alert ("WTF !!!" + url); Sadece bir kez şimdi tetiklenecek gibi görünüyor!
katma yazar Ed Carter, kaynak
Ahh tamam, böylece yepyeni bir kurt sürüsü açıldı. Yaklaşık iki kere tetiklenir gibi gözüküyor: boş ve sonra PHP ile ilgili 2 örneğe geçiliyor. Bunun işe yarayacağını düşündüğüm webNavigation.onComleted olarak değiştirmeyi denedim ama aynı sonuçları aldım.
katma yazar Ed Carter, kaynak
Bu yüzden aslında regex çözümünüzle çalışmasını sağladım, ancak şimdi sekmeleri kullanarak ve Güncelleme'yi kullanmaya başladım, ancak hala URL'yi 'aşamalandırma' eksik olduğunu tespit ettiğinde hala birçok kez uyarıyor. Etkinleştirip yeni bir sekme yüklersem, örneğin chrome://newtab/URL üzerinde 3 uyarı verir. Daha sonra sekmeyi yenilediğimde uyarı iki kez verilir ve aynı sayfadaki diğer tüm yenileme iki tane oluşturur. Ek uyarı mesajlarını nasıl bastırabileceğime dair bir fikrim var mı? Şimdiye kadar tüm yardım için çok teşekkürler!
katma yazar Ed Carter, kaynak

Son çözümümü, başkalarının geleceğe ilgi duyması durumunda talep edildiği gibi cevap olarak eklemek.

Hem Xan hem de Rob'a yardımı ile çok teşekkürler! Her ikisini de işaretleyebilseydim yapardım ama sonunda uygulamama yol açanı işaretlerdim.

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {

    var queryInfo = {
    active: true,
    currentWindow: true
    };

   chrome.tabs.query(queryInfo, function(tabs) {
       var tab = tabs[0];
       var url = tab.url;

       if(!url.match(/[^\/]*\/\/[^\/]*staging/) &&   changeInfo.status=="complete"){
           alert ("WTF!!! " +url); 
       }
   });
});
0
katma
Başka bir sekme yüklenmeyi bitirdiğinde neden mevcut sekmeyi sorgulamak istiyorsunuz?
katma yazar Xan, kaynak
Demek istediğim, arka planda bir sekmeyi orta tıklatarak açarsanız veya başka bir sayfa yeniliyorsa, kodunuz şu anda görünen sekmeye bakacaktır - doğru davranış bu mu?
katma yazar Xan, kaynak
Daha önce de belirtildiği gibi, bunun en temiz uygulama olmadığından eminim ve changeInfo içindeki tüm verilere erişebildim ancak bunu kullanarak uygulamaya çalıştığımda bir hata almaya devam ettim, böylece işe yarayan bir şeyi kullanmaya geri döndüm. .
katma yazar Ed Carter, kaynak
Demek istediğin buysa, herhangi bir ek sekme açmayı veya sayfa yükleme sırasında odağı başka bir sekmeyle değiştirmeyi beklemiyorum.
katma yazar Ed Carter, kaynak

Son çözümümü, başkalarının geleceğe ilgi duyması durumunda talep edildiği gibi cevap olarak eklemek.

Hem Xan hem de Rob'a yardımı ile çok teşekkürler! Her ikisini de işaretleyebilseydim yapardım ama sonunda uygulamama yol açanı işaretlerdim.

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {

    var queryInfo = {
    active: true,
    currentWindow: true
    };

   chrome.tabs.query(queryInfo, function(tabs) {
       var tab = tabs[0];
       var url = tab.url;

       if(!url.match(/[^\/]*\/\/[^\/]*staging/) &&   changeInfo.status=="complete"){
           alert ("WTF!!! " +url); 
       }
   });
});
0
katma
Başka bir sekme yüklenmeyi bitirdiğinde neden mevcut sekmeyi sorgulamak istiyorsunuz?
katma yazar Xan, kaynak
Demek istediğim, arka planda bir sekmeyi orta tıklatarak açarsanız veya başka bir sayfa yeniliyorsa, kodunuz şu anda görünen sekmeye bakacaktır - doğru davranış bu mu?
katma yazar Xan, kaynak
Demek istediğin buysa, herhangi bir ek sekme açmayı veya sayfa yükleme sırasında odağı başka bir sekmeyle değiştirmeyi beklemiyorum.
katma yazar Ed Carter, kaynak
Daha önce de belirtildiği gibi, bunun en temiz uygulama olmadığından eminim ve changeInfo içindeki tüm verilere erişebildim ancak bunu kullanarak uygulamaya çalıştığımda bir hata almaya devam ettim, böylece işe yarayan bir şeyi kullanmaya geri döndüm. .
katma yazar Ed Carter, kaynak

Son çözümümü, başkalarının geleceğe ilgi duyması durumunda talep edildiği gibi cevap olarak eklemek.

Hem Xan hem de Rob'a yardımı ile çok teşekkürler! Her ikisini de işaretleyebilseydim yapardım ama sonunda uygulamama yol açanı işaretlerdim.

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {

    var queryInfo = {
    active: true,
    currentWindow: true
    };

   chrome.tabs.query(queryInfo, function(tabs) {
       var tab = tabs[0];
       var url = tab.url;

       if(!url.match(/[^\/]*\/\/[^\/]*staging/) &&   changeInfo.status=="complete"){
           alert ("WTF!!! " +url); 
       }
   });
});
0
katma
Başka bir sekme yüklenmeyi bitirdiğinde neden mevcut sekmeyi sorgulamak istiyorsunuz?
katma yazar Xan, kaynak
Demek istediğim, arka planda bir sekmeyi orta tıklatarak açarsanız veya başka bir sayfa yeniliyorsa, kodunuz şu anda görünen sekmeye bakacaktır - doğru davranış bu mu?
katma yazar Xan, kaynak
Daha önce de belirtildiği gibi, bunun en temiz uygulama olmadığından eminim ve changeInfo içindeki tüm verilere erişebildim ancak bunu kullanarak uygulamaya çalıştığımda bir hata almaya devam ettim, böylece işe yarayan bir şeyi kullanmaya geri döndüm. .
katma yazar Ed Carter, kaynak
Demek istediğin buysa, herhangi bir ek sekme açmayı veya sayfa yükleme sırasında odağı başka bir sekmeyle değiştirmeyi beklemiyorum.
katma yazar Ed Carter, kaynak