2016-11-13 3 views
0

thisページの「遅いダウンロード」をクリックすると、idのsuperbox-wrappersuperbox-overlayの画面をカバーするオーバーレイモーダルが得られます。 Chromeデベロッパーツールで削除するだけで削除できます。新しいページのノードを削除できますか?

私は「遅いダウンロード」ボタンをクリックするフォローコードを持っています。

function SkipId(objId){ 
    var oId = document.getElementById(objId); 
    oId.click(); 
} 

window.onload = function(){ 
    SkipId('slow-download'); 
}; 

私は

document.getElementById('superbox-wrapper').hide(); 
document.getElementById('superbox-overlay').hide(); 

var element = document.getElementById("superbox-wrapper"); 
element.outerHTML = ""; 
delete element; 

function remove(id) { 
    var elem = document.getElementById(id); 
    return elem.parentNode.removeChild(elem); 
} 

remove('superbox-wrapper'); 

getElementById('superbox-wrapper').remove(); 

質問

どのように私はsuperbox-wrappersuperbox-overlayを削除することができますして削除しようとしていますか?

+0

これは一般的な問題です(ただし、デュープ・ハンマー・ターゲットはまだありません)。 'waitForKeyElements'(簡単)または' MutationObserver'(生)を検索してください。 –

+0

@BrockAdams - これらの要素が既にDOMに含まれているため、ページが再読み込みされるため、MutationObserverは機能しません。 – skav

+0

@Skav、 'MutationObserver'技術を使用する場合、通常、既存の要素のチェックも実行されます。 –

答えて

0

はこのこのソリューションをコメント

// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js 
// @require https://greasyfork.org/scripts/5392-waitforkeyelements/code/WaitForKeyElements.js?version=115012 

waitForKeyElements("div.superbox-wrapper", removeSuperbox); 

function removeSuperbox() { 
    document.getElementById('superbox-wrapper').hide(); 
} 
+0

コードは実際には次のようになります: 'function removeSuperbox(jNode){jNode.hide(); } ' –

-1

あなたはこのように、要素を削除するために彼らの親のremoveChild機能を使用することができる要素を取得した後:@Brockアダムスに基づいて

     
 
let overlay = document.getElementById("superbox-overlay"); 
 
let wrapper = document.getElementById("superbox-wrapper"); 
 

 
if(overlay){ 
 
    overlay.parentElement.removeChild(overlay); 
 
} 
 

 
if(wrapper){ 
 
    wrapper.parentElement.removeChild(wrapper); 
 
}

+0

これは機能しません。 OPのコードが機能しなかったのと同じ理由で。これはuserscriptのシナリオであり、ユーザースクリプトが実行された後、問題の要素は長く長いAJAXを介して追加されます。 –

+0

@BrockAdams - 要素がAJAX要求で読み込まれません。[低速ダウンロード]ボタンをクリックすると、問題の要素が読み込まれた状態でページが強制的に読み込まれます。上記のtampermonkeyスクリプトは、ポップアップが削除されたことを確認します。 – skav

+0

OPの実際のページを見つけてテストしましたか?もしそうなら、リンク?また、あなたのコードが動作すれば、OPの 'document.getElementById( 'superbox-wrapper')。hide()'もうまく動作するはずです。どちらのコードもコンソールからは動作しますが、ほとんどの場合はuserscriptからは動作しません。 –

関連する問題