Каково различие между расширением Firefox и дополнением Firefox?

Условия "расширение" и "дополнение" кажутся взаимозаменяемыми, но я видел экземпляры, где люди, кажется, имеют в виду разные вещи с "расширением" по сравнению с "дополнением".

Ясность?

17
задан rptwsthi 27 June 2013 в 13:32
поделиться

5 ответов

Настройки являются установочными улучшениями к проектам Mozilla Foundation (и совместимых вариантов, таких как портативный Firefox). Add-ons позволяют пользователю добавлять функции приложения или увеличения приложений, используйте темы к его или ее симпатию и справляться с новыми типами контента.

Расширения могут использоваться для изменения поведения существующих функций к приложению или добавлять совершенно новые функции. Удлинения особенно популярны с Firefox, потому что разработчики Mozilla намерены к браузеру оказываться довольно минималистичным применением, чтобы уменьшить блуждание программного обеспечения и ошибок, сохраняя при этом высокую степень расширяемости, так что отдельные пользователи могут добавлять функции, которые они предпочитают.

Чтение дополнение (Mozilla) может помочь

13
ответ дан 30 November 2019 в 12:27
поделиться

В этом контексте расширения представляют собой подмножество аддонов.

Так что дополнения - это зонтичный термин для расширений, тем, словари и т. Д.

8
ответ дан 30 November 2019 в 12:27
поделиться

Аддоны и расширения одинаковы, это целое, которое включает в себя темы.

Разная часть здесь - плагины, которые помогают вашему браузеру выполнять конкретные функции, такие как просмотр специальных графических форматов или воспроизведение мультимедийных файлов, таких как Adobe Reader, Flash, Silverlight, Quicktime и т. Д.

Плагины Из расширений, которые изменяют или добавляют в существующую функциональность.

На самом деле в самом браузере он использует оба термины взаимозаменяемо «Получить дополнения», но после установки они находятся под вкладкой «Расширение».

3
ответ дан 30 November 2019 в 12:27
поделиться

Простое решение - использовать системный журнал, используя RemotesLogappender

Как только у вас установка сервера Syslog, вы можете использовать это «из коробки», без необходимости дополнительной работы, необходимой для использования ADO, WCF или MSMQ

Хороший сервер системного журнала для Windows kiwi , с бесплатным, так и коммерческим (имеет более функциональность, чем бесплатные версии). Киви также приходит с зрителем.

-121--3732608-

дополнение относится к расширениям, так и к темам, Firefox 3 (IIRC) переместил как темы, так и расширения к одному пункту меню.

0
ответ дан 30 November 2019 в 12:27
поделиться

Расширение к тому, что сделал reshefm, что упростило использование оператора name (), и дает имена методов и членов класса и методов:

/// <summary>
/// Provides the <see cref="nameof"/> extension method that works as a workarounds for a nameof() operator, 
/// which should be added to C# sometime in the future.
/// </summary>
public static class NameOfHelper
{
    /// <summary>
    /// Returns a string represantaion of a property name (or a method name), which is given using a lambda expression.
    /// </summary>
    /// <typeparam name="T">The type of the <paramref name="obj"/> parameter.</typeparam>
    /// <typeparam name="TProp">The type of the property (or the method's return type), which is used in the <paramref name="expression"/> parameter.</typeparam>
    /// <param name="obj">An object, that has the property (or method), which its name is returned.</param>
    /// <param name="expression">A Lambda expression of this pattern: x => x.Property <BR/>
    /// Where the x is the <paramref name="obj"/> and the Property is the property symbol of x.<BR/>
    /// (For a method, use: x => x.Method()</param>
    /// <returns>A string that has the name of the given property (or method).</returns>
    public static string nameof<T, TProp>(this T obj, Expression<Func<T, TProp>> expression)
    {
        MemberExpression memberExp = expression.Body as MemberExpression;
        if (memberExp != null)
            return memberExp.Member.Name;

        MethodCallExpression methodExp = expression.Body as MethodCallExpression;
        if (methodExp != null)
            return methodExp.Method.Name;

        throw new ArgumentException("'expression' should be a member expression or a method call expression.", "expression");
    }

    /// <summary>
    /// Returns a string represantaion of a property name (or a method name), which is given using a lambda expression.
    /// </summary>
    /// <typeparam name="TProp">The type of the property (or the method's return type), which is used in the <paramref name="expression"/> parameter.</typeparam>
    /// <param name="expression">A Lambda expression of this pattern: () => x.Property <BR/>
    /// Where Property is the property symbol of x.<BR/>
    /// (For a method, use: () => x.Method()</param>
    /// <returns>A string that has the name of the given property (or method).</returns>
    public static string nameof<TProp>(Expression<Func<TProp>> expression)
    {
        MemberExpression memberExp = expression.Body as MemberExpression;
        if (memberExp != null)
            return memberExp.Member.Name;

        MethodCallExpression methodExp = expression.Body as MethodCallExpression;
        if (methodExp != null)
            return methodExp.Method.Name;

        throw new ArgumentException("'expression' should be a member expression or a method call expression.", "expression");
    }
}

Использовать его:

static class Program
{
    static void Main()
    {
        string strObj = null;
        Console.WriteLine(strObj.nameof(x => x.Length)); //gets the name of an object's property.
        Console.WriteLine(strObj.nameof(x => x.GetType())); //gets the name of an object's method.
        Console.WriteLine(NameOfHelper.nameof(() => string.Empty)); //gets the name of a class' property.
        Console.WriteLine(NameOfHelper.nameof(() => string.Copy(""))); //gets the name of a class' method.
    }
}
-121--1141580-

Hmmm.. Я думал , что есть некоторые вещи с [DefureValue (...)] , которые будут работать, но, очевидно, нет; Я немного сбит с толку, почему вы получаете null , хотя - поскольку вы не сказали ему о каком-либо по умолчанию, я бы ожидал, что «Default Name» попадет в выход. Если у вас есть код по умолчанию (или ShouldSerialize * / * Specified ), вы можете попробовать:

[DataMember(EmitDefaultValue=true)]
public string Name {
    get { return name; }
    set { name = value; }
}

Но еще раз - я не совсем уверен, почему вы видите null в первую очередь.

Я только что протестировал это с чем-то на основе шаблона WCF в VS2008, и это хорошо работает:

using (var client = new Service1Client()) {
    var result = client.GetDataUsingDataContract();
    Console.Write(result.Name); // "Default Name"
}
-121--3176685-

Add-on является инклюзивным термином для категории модулей дополнения, которые подразделяются на плагины, темы, поисковые системы, расширения, оснастки или различные другие имена, специфичные для поставщика

  • Плагин (плагин, аддин, надстройка, аддон или надстройка) - это компьютерная программа, которая взаимодействует с основным (или главным) приложением (например, веб-браузером или программой электронной почты) для обеспечения определенной, обычно очень специфической функции по требованию.

  • При вычислениях исправление представляет собой небольшую часть программного обеспечения, предназначенного для обновления или устранения проблем с компьютерной программой или поддерживающими ее данными. Это включает исправление ошибок, замену графики и повышение удобства использования или производительности.

  • В вычислениях обложки и темы являются пользовательскими графическими образами (GUI), которые могут применяться к определенному программному обеспечению и веб-сайтам, чтобы соответствовать различным вкусам различных пользователей.

0
ответ дан 30 November 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: