DOM ವಿಂಡೋಗೆ ಸಂಬಂಧಿಸಿದ ಟ್ಯಾಬ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಲಾಗುತ್ತಿದೆ

ನಾನು ಫೈರ್‌ಫಾಕ್ಸ್ ವಿಸ್ತರಣೆಯಲ್ಲಿ ಕೆಲವು ಹೊಸ ಕಾರ್ಯವನ್ನು ಸೇರಿಸುತ್ತಿದ್ದೇನೆ, ಟ್ರೈಅಗೈನ್ , ಇದು ಎಚ್‌ಟಿಟಿಪಿ ದೋಷ ಸಂಕೇತಗಳನ್ನು (ಉದಾ. 500) ಬಲೆಗೆ ಬೀಳಿಸುತ್ತದೆ ಮತ್ತು ಕೆಲವು ಮಧ್ಯಂತರದ ನಂತರ ಪುಟವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತದೆ.

ಕೋಡ್‌ಗಳನ್ನು ಬಲೆಗೆ ಬೀಳಿಸುವುದು ಅತ್ಯುತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಮತ್ತು ನಾನು ಒಟ್ಟು ಮರುಪ್ರಯತ್ನಗಳ ಸಂಖ್ಯೆಯನ್ನು ಲೆಕ್ಕಹಾಕಲು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ ಮತ್ತು ಇದನ್ನು ಸೆಷನ್ ಸ್ಟೋರ್ ಬಳಸಿ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತೇನೆ. ದುರದೃಷ್ಟವಶಾತ್, ಇದೀಗ ನಾನು DOM ವಿಂಡೋಗೆ ( interfaceRequestor.getInterface (Components.interfaces.nsIDOMWindow) ಮೂಲಕ) ಉಲ್ಲೇಖವನ್ನು ಪಡೆಯುತ್ತಿದ್ದೇನೆ, ಆದರೆ ನನಗೆ ಟ್ಯಾಬ್‌ಗೆ ಉಲ್ಲೇಖ ಬೇಕು, ಅದು nsIDOMNode ಸೆಟ್‌ಟ್ಯಾಬ್‌ವಾಲ್ಯೂ () ನಲ್ಲಿನ nsISessionStore ಡಾಕ್ಸ್.

ನಾನು ಇಲ್ಲಿಯವರೆಗೆ ಏನು ಮಾಡಿದ್ದೇನೆ (ಈ ಉದಾಹರಣೆಯಿಂದ ನಿಜವಾದ ಮರುಪ್ರಯತ್ನವನ್ನು ನಾನು ಕೈಬಿಟ್ಟಿದ್ದೇನೆ):

// This function implements the nsIObserverService interface and observes
// the status of all HTTP channels
observe : function(aSubject, aTopic, aData) {
    var httpChannel = aSubject
            .QueryInterface(Components.interfaces.nsIHttpChannel);
    if (httpChannel.responseStatus == 500) {
        var domWindow;
        try {
            var notificationCallbacks;
            if (httpChannel.notificationCallbacks) {
                notificationCallbacks = httpChannel.notificationCallbacks;
            } else {
                notificationCallbacks = aSubject.loadGroup
                        .notificationCallbacks;
            }
            var interfaceRequestor = notificationCallbacks
                    .QueryInterface(Components.interfaces
                        .nsIInterfaceRequestor);
            domWindow = interfaceRequestor
                    .getInterface(Components.interfaces.nsIDOMWindow);
        } catch (e) {
            // No window associated with this channel
            return;
        }
        var ss = Components.classes["@mozilla.org/browser/sessionstore;1"]
                .getService(Components.interfaces.nsISessionStore);
        ss.setTabValue(domWindow, "foo", "bar");
    }
},

ಇದು ಸಹಜವಾಗಿ [1199431 ರಂದು ವಿಫಲಗೊಳ್ಳುತ್ತದೆ ] ಅಮಾನ್ಯ ನಿಯತಾಂಕದೊಂದಿಗೆ setTabValue . DOM ವಿಂಡೋಗೆ ಸಂಬಂಧಿಸಿದ ಟ್ಯಾಬ್ ಅನ್ನು ನಾನು ಹೇಗೆ ಪಡೆಯಬಹುದು?

ಪರ್ಯಾಯ ಪರಿಹಾರವಾಗಿ, ನಾನು DOM ವಿಂಡೋಗೆ ಸಂಬಂಧಿಸಿದ ಅಸ್ಥಿರಗಳನ್ನು ಕೆಲವು ರೀತಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಬಹುದೇ? ಅಂದರೆ ನಾನು ಮೆಮೊರಿಯನ್ನು ಸ್ವಚ್ clean ಗೊಳಿಸಬೇಕಾಗಿಲ್ಲ.

7
задан nmaier 29 November 2013 в 07:56
поделиться