2012-03-19 1 views
2

Я ищу наилучшую практику здесь.Лучший способ хранения данных временных данных для передачи из веб-приложения на настольное приложение с использованием javascript

Мне нужно хранить 10 переменных информации в определенном формате:

lname: [John] 
fname: [Doe] 
etc... 

с помощью Javascript. Я думал об использовании файлов cookie.

Мой сценарий выглядит следующим образом: Пользователь будет в Salesforce.com, и они будут вводить информацию о клиенте в запись. Затем они нажали бы кнопку, чтобы получить цитату. Кнопка, используя JS, будет писать поля Salesforce во временный файл (возможно, файл cookie). Оттуда другое приложение MS подберет этот файл и прочитает значения.

Как вы, ребята, это сделаете?

Спасибо за внимание.

+0

Если вы будете использовать куки-файлы, то это может считаться «кражей печенья» и, вероятно, будет описано как вредное поведение с помощью решений безопасности, таких как антивирус ... –

+0

Думаю, я могу ответить на ваш вопрос, но мне нужно разъяснение. Я утверждаю, что «пользователь» будет вводить свои данные на веб-странице. Но я не уверен, что вы подразумеваете под «MsApplication». Это другая веб-страница, или это приложение, работающее в Windows. –

+0

@HowardSchutzman - На самом деле это правда. Для простоты я ставлю MS Application. Технически это приложение Easel, которое имитирует то, что похоже на приложение VB, представляет собой наш зеленый экран с более красивым интерфейсом. Он может делать большую часть того, что может сделать настольное приложение для vb. – Havoc783

ответ

-1

Вы можете добавить поток/задачу в приложение MS, которое следит за изменениями в каталоге, в которых создается cookie. Когда вы обнаружите новый файл, который соответствует вашим требованиям, вы можете действовать на нем. Для этого подхода вам потребуется использовать DirectoryInfo. Вы также можете создавать и окна или веб-службы, которые приложение прослушивает и может передавать данные таким образом из веб-приложения.

0

Да, файлы cookie, безусловно, являются опцией в этом случае. Файлы cookie доступны через глобальный объект document (например, document.cookie). Он может содержать строку и дату истечения срока действия.

Вот печенье обработчик я написал:

http://jsfiddle.net/zbaJz/1/

Используя этот обработчик, вы можете хранить информацию в куки, и будет иметь возможность просматривать, а также удалить его. Затем, используя JSON stringify, вы можете передать ему объект.

var name = { 
    'fname': 'John', 
    'lname': 'Doe' 
}; 

var jsonText = JSON.stringify(name); 
var cookieMonster = new Ovenmitts(); 
cookieMonster.bakeCookie('name', jsonText); 

Тогда для того, чтобы превратить данные обратно в объект для манипулирования, вы бы использовать JSON.parse.

var cookieInfo = cookieMonster.admireCookie('name'); 
var revived = JSON.parse(cookieInfo); 
2

Браузер не позволит вам писать файлы, вообще говоря. Для этого вам нужно будет использовать механизм для выхода из изолированной программной среды безопасности, такой как подписанный Java-апплет.

1

Куки-файлы не являются хорошим вариантом здесь. Приложения для настольных компьютеров не должны пытаться получить доступ к куки-файлам браузера; в лучшем случае это считается «плохо выполненным кодом»; в худшем случае вы не сможете это сделать, или ваше приложение будет обнаружено как вредоносное ПО. Даже если бы это считалось правильным, вам нужно будет написать реалистичные версии cookie для любого браузера, который вы хотите поддержать, поскольку нет стандарта для того, как они локально хранятся.

Почему бы не сделать приложение для рабочего стола доступным в Интернете от имени пользователя? Напишите запросы котировки SFDC к новому пользовательскому объекту SFDC, например Quote_Request__c или аналогичному, и приложение может запросить самую последнюю запись (записи), созданную пользователем через API.

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

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

Другой вариант - зарегистрировать свое настольное приложение в качестве обработчика протокола URL; поэтому, скажем, myquote: // имя/имя/номер/продукт/цена/etc можно щелкнуть из веб-браузера, чтобы запустить приложение и проанализировать «URL». Может работать плохо с очень длинными/сложными данными.

Смежные вопросы