2012-07-19 16 views
5

मैं एक समस्या में भागता हूं, घंटों तक संघर्ष करता हूं। मैं jQuery लोड का उपयोग कर रहा है जो tinyMCE और उसके स्क्रिप्ट (वर्डप्रेस)जब मैं jQuery के माध्यम से tinyMCE लोड करता हूं तो ब्राउज़र फ्रीज .load()

$('.quickedit_form_' + parentID).load('<?php bloginfo('template_directory'); ?>/ajax/quickedit.php?id=' + parent.attr('id').replace('post-', ''), function(){ 
     tinyMCE.init({ 
      skin: 'wp_theme' 
     }); 
     $.scrollTo(parent, 800, {offset: {left: 0, top: -61}}); 
    }); 

और मेरे php पृष्ठ (quickedit.php)

<?php 

// include WordPress 
require('../../../../wp-blog-header.php'); 

// get post 
global $current_user; 
$id = $_GET['id']; 
$post = get_post($id); 
if ($current_user->ID != $post->post_author) { 
    wp_die(__('Unauthorized access.','sofa')); 
} 

?> 

<h1 class="quickedit_h"><?php printf(__('Editing Post #%s','sofa'), $post->ID); ?></h1> 

<label for="edit_title_<?php echo $id; ?>" class="quickedit_label"><?php _e('Title:','sofa'); ?></label> 
<input type="text" name="edit_title_<?php echo $id; ?>" id="edit_title_<?php echo $id; ?>" value="<?php echo $post->post_title; ?>" class="quickedit_field" /> 

<label for="edit_type_<?php echo $id; ?>" class="quickedit_label"><?php _e('Post Type:','sofa'); ?></label> 
<select name="edit_type_<?php echo $id; ?>" id="edit_type_<?php echo $id; ?>" class="quickedit_select"> 
    <option value="text"<?php selected("text", sofa_post_type()); ?>><?php _e('Blog','sofa'); ?></option> 
    <option value="image"<?php selected("image", sofa_post_type()); ?>><?php _e('Image','sofa'); ?></option> 
    <option value="video"<?php selected("video", sofa_post_type()); ?>><?php _e('Video','sofa'); ?></option> 
</select> 

<div class="quickedit_save"><input type="button" value="<?php _e('Save','sofa'); ?>" class="button-secondary" /></div> 

<?php 
wp_editor($post->post_content, 'edit_content_'.$id, $settings = array(
    'wpautop' => true, 
    'media_buttons' => true, 
    'textarea_name' => 'edit_content_'.$id, 
    'textarea_rows' => 10, 
    'tabindex' => '', 
    'editor_css' => '', 
    'editor_class' => 'edit_content', 
    'teeny' => false, 
    'dfw' => false, 
    'tinymce' => true, 
    'quicktags' => true 
)); 
?> 

<div class="quickedit_save"><input type="button" value="<?php _e('Save','sofa'); ?>" class="button-secondary" /></div> 

<?php wp_footer(); ?> 

शामिल जब मैं quickload.php सीधे में पहुँचने के एक php पृष्ठ लोड करने ब्राउज़र, सब कुछ चिकनी लोड, कोई देरी या कुछ भी नहीं। लेकिन जब मैं jQuery के माध्यम से इसे एक्सेस करता हूं .load() tinymce और बटन लोड करने के लिए लगभग 15 सेकंड लगते हैं, फ़ायरफ़ॉक्स और क्रोम दोनों में ब्राउज़र को फ्रीज करना (उपयोगकर्ता कुछ भी बातचीत नहीं कर सकता)।

किसी को भी मेरे लिए सुझाव दे सकते हैं क्यों यह हो रहा है, घंटे हो चुके इस के साथ की कोशिश कर रहा .. :(

नोट:। जब मैं quickedit.php सीधे TinyMCE लोड का उपयोग ठीक है और त्वरित दुर्घटना/ठंड होता है जब । इसके jQuery .load समारोह से कहा जाता

मैं क्या इस समस्या का कारण हो सकता है के लिए किसी भी दिशा-निर्देश की जरूरत है

+0

मुझे .get() के साथ एक ही समस्या है। मेरे डीबगर के माध्यम से यह मेरे लिए jquery.min.ui.js फ़ाइल लोड करते समय ठंडा हो रहा है - एसिंच के साथ कुछ भी नहीं करना। यह पृष्ठ पर पहले .get() अनुरोध पर केवल लोड/धीमा हो जाता है, किसी भी बाद के अनुरोध अपेक्षित प्रतिक्रिया देते हैं। मुझे लगता है कि यह मेरे लिए प्रॉक्सी सर्वर के साथ कुछ करना है। – elzaer

उत्तर

0

मैं jQuery के निम्न स्तर ajax इंटरफ़ेस का उपयोग कर की कोशिश करेंगे: jQuery.ajax

jQuery(function($) { 
    var ajax_url = '<?php bloginfo('template_directory'); ?>/ajax/quickedit.php?id=' + parent.attr('id').replace('post-', ''); //Included for readability 
    //Check if the elem is in the DOM, if so, load it via AJAX 
    if ($('.quickedit_form_' + parentID).length >0) { 
    $.ajax({ 
     url: ajax_url 
     complete: function () { 
      tinyMCE.init({ 
      skin: 'wp_theme' 
      }); 
     $.scrollTo(parent, 800, {offset: {left: 0, top: -61}}); 
     } 
    }); 
    } 
}); 

आप त्रुटियों में चलने का कारण jQuery.load की एकाधिक तर्क प्रकृति के साथ करते हैं (प्लस मुझे लगता है कि इसका बहिष्कृत ...?) एक तुल्यकालिक (अवरुद्ध) अनुरोध कर सकता है।

संबंधित मुद्दे