Tôi gặp vấn đề, phải vật lộn hàng giờ. Tôi đang sử dụng jQuery tải để tải một trang php chứa TinyMCE và các kịch bản của mình (wordpress)Trình duyệt đóng băng khi tôi tải tinyMCE qua jQuery .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}});
});
Và trang php của tôi (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(); ?>
Khi tôi truy cập trực tiếp vào quickload.php trình duyệt, mọi thứ tải mượt mà, không chậm trễ hay bất cứ thứ gì. Nhưng khi tôi truy cập nó thông qua jQuery .load() các tinymce và các nút mất khoảng 15 giây để tải, trình duyệt đóng băng (người dùng không thể tương tác với bất cứ điều gì) đã thử trong cả Firefox và chrome.
bất cứ ai có thể đề xuất với tôi lý do tại sao điều này xảy ra, hàng giờ cố gắng với điều này .. :(
Lưu ý:. Khi tôi truy cập trực tiếp quickedit.php tải TinyMCE tốt và nhanh chóng sụp đổ/đóng băng xảy ra khi . nó được gọi là từ chức năng jquery .load
tôi cần bất kỳ hướng tới những gì có thể gây ra vấn đề này
Tôi gặp vấn đề tương tự với .get() Thông qua trình gỡ rối của tôi, nó đang đóng băng trong khi tải tệp jquery.min.ui.js cho tôi - không có gì liên quan đến asynch. Nó chỉ đóng băng/tải chậm trên yêu cầu .get() đầu tiên trên trang, mọi yêu cầu tiếp theo đều phản hồi như mong đợi. Tôi nghĩ rằng đó là một cái gì đó để làm với máy chủ proxy cho tôi. – elzaer