В каких путях JavaScript ограничивается при создании приложения Facebook?

Если вы можете превратить свои данные в IEnumerable, это должно работать для вас ...

    Response.Clear();
    Response.Buffer = true;

    Response.AddHeader("content-disposition", "attachment;filename=FileName.csv");
    Response.Charset = "";
    Response.ContentType = "application/text";
    Response.Output.Write(ExampleClass.ConvertToCSV(GetListOfObject(), typeof(object)));
    Response.Flush();
    Response.End();



public static string ConvertToCSV(IEnumerable col, Type type)
        {
            StringBuilder sb = new StringBuilder();
            StringBuilder header = new StringBuilder();

            // Gets all  properies of the class
            PropertyInfo[] pi = type.GetProperties();

            // Create CSV header using the classes properties
            foreach (PropertyInfo p in pi)
            {
                header.Append(p.Name + ",");
            }

            sb.AppendLine(header.ToString().Remove(header.Length));

            foreach (object t in col)
            {
                StringBuilder body = new StringBuilder();

                // Create new item
                foreach (PropertyInfo p in pi)
                {
                    object o = p.GetValue(t, null);
                    body.Append(o.ToString() + ",");
                }

                sb.AppendLine(body.ToString().Remove(body.Length));
            }
            return sb.ToString();
        }
12
задан Nosredna 8 June 2009 в 16:44
поделиться

3 ответа

JavaScript в контексте Facebook отличается, поскольку все это будет переписываться по мере прохождения через Facebook. Чтобы понять различия (которых много), начните с документации FBJS . Руководство по началу работы является хорошим учебником.

Сайт, который станет вашей библией, - wiki.developers.facebook.com , он канонический с точки зрения платформы FB. Кроме того, как мы все узнали и (любите? Ненавидите?) Платформа Facebook является движущейся целью, поэтому полезно следить за происходящим через группу разработчиков на Facebook. Мне также нравится блог Inside Facebook .

Большинство провайдеров, которые позволяют разработчикам встроить JavaScript в свой домен заставить разработчиков использовать фреймы для песочница их кода. Facebook взял другой подход к этой проблеме. JavaScript, который вы нам даете, получает анализируется, и любые идентификаторы (функция и имена переменных) добавляются с ID вашего приложения. Например, следующий блок кода:

 function foo (bar) {var obj = {property: bar}; return obj.property;

}

становится:

 function a12345_foo (a12345_bar) {var a12345_obj = {property: a12345_bar}; вернуть a12345_obj.property; }

Это создает виртуальную область видимости для каждого приложение, работающее в Facebook. Оттуда мы выставляем определенные функциональность через набор Объекты JavaScript, которые позволяют изменять свой контент на Facebook. Наши объекты созданы, чтобы имитировать функциональность JavaScript так же близко возможно, но это может занять некоторое время привыкание к людям, которые уже знаком с JavaScript.

Многие элементы, которые являются просто элементами в обычном JavaScript, должны выполняться с помощью специальных вызовов методов в FBJS. Например, когда вы ссылаетесь на значение поля формы в JS, вы используете .value , тогда как в FBJS вам нужно использовать .getValue () . Именно эти различия не позволяют просто вырезать и вставлять JS из других источников в Facebook.

Это базовый учебник. Это должно вас начать. Всего наилучшего!

9
ответ дан 2 December 2019 в 21:45
поделиться

Простое решение - заключить всю игру в iFrame. Сам FB отфильтровывает множество вызовов javascript - в основном, все, что связано с объектами окна или документа, вероятно, не будет работать.

2
ответ дан 2 December 2019 в 21:45
поделиться

Не слишком сложно, я бы сказал, поскольку у вас уже есть возможность программировать игра, вам должно быть хорошо запрограммировать приложение facebook, а также перенести игру на facebook.

насколько я знаю, с FBML ваш javascript будет бесполезен (да, ваш javascript будет отфильтрован)

, поэтому вам придется использовать iFrame, в котором ваш javascript останется работоспособным (пока ваш javascript не касается тегов fbml)

Документация по API Facebook заведомо плохая.

1
ответ дан 2 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

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