Концепция и алгоритм: Как записать только один URL для виджета? - PullRequest
1 голос
/ 28 июня 2009

Я создал виджет для своего веб-приложения. Пользователь получает код и просто вставляет этот код на своем веб-сайте, а мой виджет работает на их веб-сайте, например, в Twitter, Digg и других социальных виджетах.

Мой виджет основан на посте, для одного поста (скажем, postid: 234) Я предоставляю один виджет, так что любой может встроить виджет на свой сайт.

Теперь я хочу знать, где все мои виджеты размещены и для какого сообщения? для этого я записал URL сайта, когда мой виджет запускается (загружается), но проблема возникает, когда кто-то размещает виджет на общей боковой панели своего блога или сайта. Я записываю URL каждый раз, и поэтому, если он находится на боковой панели блога, он записывает URL для каждого поста, создающего дубликаты.

Кто-нибудь может помочь с этим? Как мне сделать так, чтобы у меня была только одна запись для виджета на сайте?

Ответы [ 2 ]

1 голос
/ 28 июня 2009

Я думаю, что делать что-то вроде этого немного сложно. Вот некоторые идеи, которые приходят на ум

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

Простое отслеживание домена, очевидно, будет проблематичным, если фактическим сайтом является domain.com/sitename/ и в домене может быть несколько сайтов. В этом случае вы можете попытаться определить самый высокий общий каталог. Как то так:

У вас есть несколько URL-адресов, например: domain.com/site/page1, domain.com/site/page2 и т. Д. Здесь самый высокий общий каталог будет domain.com/site.

Не думаю, что это всегда будет работать правильно или давать абсолютно точные результаты. Для точности, я думаю, что лучше всего просто спросить у пользователя URL-адрес, когда он загружает код для виджета.

Редактировать: новая идея - просто сгенерируйте уникальный идентификатор для каждого пользователя. Это можно сделать, просто взяв текущую временную метку или что-то в этом роде и скрыв ее во фрагменте кода, который пользователь должен скопировать. Таким образом, вы можете отслеживать сам идентификатор, а любые URL и домены, в которых он появляется, можно сгруппировать под ним.

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

0 голосов
/ 16 июля 2009

Я согласен с Яни относительно уникального идентификатора. Когда вы включите сценарий, вы всегда сможете вернуться к этому идентификатору. Вы по-прежнему будете иметь дубликаты, если пользователь будет использовать один и тот же идентификатор снова и снова, но, по крайней мере, у вас будет возможность отличить одного пользователя от другого. Еще одно полезное преимущество заключается в том, что теперь вы можете, как сказал Яни, сгруппировать по идентификатору и получить кумулятивное число для всех случаев, когда этот пользователь использовал скрипт & id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...