jQuery .load (): загрузка div при нажатии - PullRequest
2 голосов
/ 01 июля 2011

Мне бы хотелось, чтобы при нажатии на изображение в div, где находится это изображение, загружался div с другим контентом из другого .html, но я не могу этого сделать.

Если я делаю следующее, это работает отлично:

$('#windows_link').click(function(){
        $('#apps_container').html("Hi!");
    });

Но если я делаю следующее, это не работает;на самом деле он ничего не делает:

$('#windows_link').click(function(){
        $('#apps_container').load('windows_apps.html #apps_container');
    });

Любая помощь, пожалуйста?

Заранее большое спасибо!

Ответы [ 2 ]

3 голосов
/ 01 июля 2011

Когда вы находитесь локально, любой другой путь HTML рассматривается как другой домен в определенных браузерах (Chrome находится в списке).Это означает, что любой запрос AJAX (что .load() делает под ним), который вы пытаетесь заблокировать, будет той же политикой происхождения .

То, что у вас, вероятно, будет работать нормально.... только не локально, в Chrome.

Это можно проверить, протестировав в другом браузере, например Firefox, или запустив chrome с параметром командной строки , чтобы отключить эту функцию безопасности ( только для тестирования !, выключите его после):

chrome.exe --disable-web-security
0 голосов
/ 01 июля 2011

Если первая попытка работает правильно, я предполагаю, что проблема здесь

.load('windows_apps.html #apps_container');

Когда вы нажимаете на ссылку, вы видите вызов на панели .net firebug или консоли отладки (успешно ли завершается вызов ajax)?

Windows_apps.html находится в той же папке скрипта страницы, который его вызывает?

есть ли на этой странице div с именем apps_container?

...