5

背景を自動で拡大してウィンドウを埋める関数を作成しようとしています。このコードは、何も起こらないIE8を除くすべてのブラウザーで正常に機能します。ただ、何も!

これは私が取り組んでいるサイトです:http://goo.gl/BlqDS

これがjavascriptファイル(主にjQuery)です:http://goo.gl/ITuUa

関連するコードは、最初の上部にありjQuery(document).ready()ます。

私はIETesterでテストしていますが、これは常にクラッシュして奇妙な動作をするため、100%動作していないかどうかはわかりませんが、動作していないことは確かです。IETesterでデバッグツールバーを使用していますが、コンソールから何も取得されません。少なくとも「背景が見つかりません」を取得する必要があります。

助言がありますか?これを何時間も見てきました!

4

3 に答える 3

0

何が起こっているかというと、imgsrcが正しく設定されていないことです (IE8 では左上の画像が壊れていることに気付くかもしれません)。IEの開発者ツールも調べてこれを理解しました..srcは空で、画像のURLの名前の一部である属性を設定しようとします。理由は 100% わかりませんが、次の方法を試してみてください。

- jQuery('body').append('<img id="body-background-img" src="'+ burl +'" />')
+ jQuery('body')
+    .append(jQuery("<img>", {'id': 'body-background-img', 'src': burl}));
于 2012-11-21T15:33:22.757 に答える
0

@explosion-pills が特定したように、IE は CSS の URL の周りに引用符を追加しているため、正規表現を使用して実際の URL にアクセスできます。

var burl = jQuery('body.custom-background').css('background-image');
burl = burl.match(/^url\((['"]*)(.*)(\1\))$/)[2];

ここ\1で、正規表現の は、引用符である最初にキャプチャされたサブパターンを参照します (単一、二重、またはそこにないかどうか)。

于 2012-11-22T08:08:38.110 に答える
-1

代わりに試してみたいかもしれません

jQuery(document).ready(function() {...});

使ってみてください

$(function () {...});
于 2012-11-21T15:11:42.170 に答える