Удаление Cufon, как только он был загружен - PullRequest
1 голос
/ 12 августа 2011

Я знаю, что это немного странно, но я использую Cufon на одной из своих страниц, но мне нужно иметь возможность отключить его для всех элементов, если пользователь нажимает кнопку.

Теперь я надеялся, что это будет как Cufon.Reset (селектор) или что-то еще, но я не смог ничего найти, так есть ли способ превратить текст Cufoned обратно в стандартный текст без обновления страницы?

Ответы [ 4 ]

2 голосов
/ 12 августа 2011

Не думай так.Cufon создает img.Поэтому отмена без обновления страницы невозможна.

Вы можете написать некоторый скрипт в:

  • скопировать текст (скопировать html-тег и скрыть его) перед запуском Cufon
  • чем при нажатии кнопки скрыть cufon и показать скопированный текстовый элемент с чистым текстом

Я бы предложил использовать @ font-face вместо Cufon - прекрасно работает в IE, FF, Safari.Хром, скажем, на 80% качественный.

Проверьте этот сайт - он использует метод @ font-face.Работает отлично.

1 голос
/ 01 сентября 2011

Допустим, все ваши теги H1 выполнены в стиле cufont. Для этого вы будете использовать:

Cufon.replace('h1');

если вы хотите отменить действие cufon, вы можете использовать:

$('h1').each(function(){
    $(this).find('cufon').each(function(){
        $(this).replaceWith($(this).find('cufontext').text())
    })
})
0 голосов
/ 29 октября 2011

Я только что прошел весь процесс внедрения более простой версии одного из сценариев, обсуждаемых здесь, чтобы получить текст из тегов cufontext. Работало просто отлично:

var nameFromCufon = $(profileName).find('cufontext').each(function(){
    $(this).replaceWith($(this).text())
})

ProfileName - это непосредственный родительский тег span, окружающий теги cufon. Тогда я попробовал что-то настолько простое, что было слишком очевидно: $ (ProfileName) .text ();

.text, дайте мне только текст со всем вырезанным кодом тега. Так просто.

0 голосов
/ 12 августа 2011
var RemoveCufon = function (selector) {
    $(selector).each(function (index, element) { $(element).text(BuildCufonTextString(element)); });
};

var BuildCufonTextString = function (parent) {
    var elementText = "";
    $("cufon cufontext", parent).each(function (index, element) { elementText += $(element).text(); });
    return $.trim(elementText);
};

Вот ручной способ, который работает, но хотелось бы узнать что-нибудь попроще ...

...