質問編集履歴

2

解決後のコードを追加しました

2021/10/24 01:19

投稿

maimai
maimai

スコア3

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,10 @@
1
1
  Javascriptを使って、自作のブラウザで広告を非表示にしたいと思ったのですが上手く行きませんでした。
2
2
 
3
3
  どうすればよいのでしょうか...
4
+
5
+
6
+
7
+ *解決しました! 書き換えたコードは下に付け加えてあります。
4
8
 
5
9
 
6
10
 
@@ -109,3 +113,77 @@
109
113
 
110
114
 
111
115
  稚拙な文章ですが、どうかお付き合いください...
116
+
117
+
118
+
119
+ ### <解決後に書き換えたコード>
120
+
121
+
122
+
123
+ ku__ra__geさんのアドバイス(広告はiframeで表示されているということ)を元にgoogleとyahooの広告を非表示にするコードを書きました。
124
+
125
+ 仕組みは非常にシンプルで、
126
+
127
+ htmlの中からdiv, iframeタグを取得し
128
+
129
+ そのidの名前に特定の文字列を含んだ場合に
130
+
131
+ その要素を非表示にしています。
132
+
133
+
134
+
135
+ ```c#
136
+
137
+ void ILoadHandler.OnLoadingStateChange(IWebBrowser chromiumWebBrowser, LoadingStateChangedEventArgs loadingStateChangedArgs)
138
+
139
+ {
140
+
141
+ //throw new NotImplementedException();
142
+
143
+ if (!loadingStateChangedArgs.IsLoading)
144
+
145
+ {
146
+
147
+ // Javascriptを実行する。
148
+
149
+ loadingStateChangedArgs.Browser.MainFrame.EvaluateScriptAsync(@"(()=>{return document.title;})();").ContinueWith((reponse) => {
150
+
151
+ frmBrowser.title = (String)reponse.Result.Result;
152
+
153
+ });
154
+
155
+
156
+
157
+ loadingStateChangedArgs.Browser.MainFrame.EvaluateScriptAsync(@"function deleteAd(){let e=document.querySelectorAll('iframe, div'),d=[];for(i=0;i<e.length;i++)d.push(e[i].id),(d[i].includes('google_ads_iframe_')||d[i].includes('yads'))&&(e[i].style.display='none')}setInterval(deleteAd,1);");
158
+
159
+
160
+
161
+
162
+
163
+ }
164
+
165
+ }
166
+
167
+ ```
168
+
169
+
170
+
171
+ javascriptのみを取り出したもの
172
+
173
+ ```javascript
174
+
175
+ function deleteAd() {
176
+
177
+ let e = document.querySelectorAll('iframe, div'),
178
+
179
+ d = [];
180
+
181
+ for (i = 0; i < e.length; i++) d.push(e[i].id), (d[i].includes('google_ads_iframe_') || d[i].includes('yads')) && (e[i].style.display = 'none')
182
+
183
+ }
184
+
185
+ setInterval(deleteAd, 1); //<--位置ミリ秒ごとに広告を非表示にするプログラムを実行。PCに負荷がかかるかもしれない
186
+
187
+
188
+
189
+ ```

1

文章を修正しました

2021/10/24 01:19

投稿

maimai
maimai

スコア3

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
- Javascriptを使って、自作のブラウザで広告を非表示にしたいと思ったのですが上手く行かなかったのすがどうすればよいのでょうか...
1
+ Javascriptを使って、自作のブラウザで広告を非表示にしたいと思ったのですが上手く行きませんでした。
2
+
3
+ どうすればよいのでしょうか...
2
4
 
3
5
 
4
6