私はまだJavaScriptを学んでいるので、親切にしてください。
HTTP URL を含む CSS を Web ページで検索する次のコードがあります。ただし、未定義の場合がある変数 "v" が 1 つあります。エラー「rule.style は定義されていません」
この未定義の応答を解決するにはどうすればよいですか? 条件を使用しようとしましたが、うまくいきませんでした。
var seachHttp = function () {
var cssSheets = document.styleSheets, // Loaded CSS Sheets
i =0, il = cssSheets.length, // Counter and limit for sheets
j, jl, rules, rule, // Counter and vars for Rules inside a Sheet
stylesToSearch = [ // Properties to Seach HTTP ON
'background',
'background-image',
],
k, kl=stylesToSearch.length, // Counter for properties
s, // Current Property
v; // Current Value
for(;i<il;i++) { // Loop Sheets
rules = cssSheets[i].rules || cssSheets[i].cssRules;
for(j=0,jl=rules.length;j<jl;j++) { // Loop Rules
rule = rules[j];
for(k=0;k<kl;k++){ // Loop Styles
s = stylesToSearch[k];
v = rule.style[s]; // Get Value from Current Style
if ( typeof v !== undefined && v.toString().toLowerCase().indexOf("http") > -1 ) { // Seach for HTTP Content
alert("Found HTTP at " + rule.selectorText + " " + s + " = " + rule.style[s]);
return true;
}
}
}
}
return false;
}
私は次を使用してこの関数を呼び出します。
var cssresult = seachHttp();
if (cssresult == true && cssresult !== undefined) {
//code here
}