0

我正在整理一个网站(www.pickmixmagazine.com/wordpress),我有一个功能可以点击其中一个大方块,数据被加载到滑动 iframe 中(试试看!)我正在尝试从服务器使用 ajax 并将数据写入 iframe,如下所示。它在 Firefox 和 chrome 中完美运行,只是在 IE 中我不断收到错误“$”未定义,我无法访问任何 Jquery。这是代码(我只包含了函数的ajax部分):

function changeFrame(i)
    {
        var elm = parent.document.getElementsByTagName('iframe')[0];
        var topval = $(elm).css('top');

        if(i!='' && i!='home' && window.top==window.self){
            //$('iframe.primary').attr('src', 'http://www.pickmixmagazine.com/wordpress/'+i);

            var ifrm = document.getElementById("mainframe")
            ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
            //var doc = w.document.documentElement;
            //w.contentWindow.location.replace('http://www.pickmixmagazine.com/wordpress/'+i);



            var xhr = $.ajax({
                    url: 'http://www.pickmixmagazine.com/wordpress/'+i,
                    success: function(data) {
                      ifrm.document.open();
                       ifrm.document.write(data);
                       ifrm.document.close();  

谢谢你的帮助!

4

1 回答 1

0

听起来好像有什么东西导致了与 $ 的命名冲突。虽然这个问题只在 IE 中表现出来这一事实有点奇怪。

有点像在黑暗中拍摄,但您可以尝试取消定义 $ 标识符并尝试在代理函数中运行您的代码:

jQuery.noConflict();
jQuery(function($) {
       //put all JQuery related code here.

 });
于 2012-12-17T14:25:12.013 回答