Мы используем пользовательскую CMS для электронной коммерции, которая использует:
<a href="javascript:AddToBasket(3471412104801);">Add to Cart</a>
…добавить товар в корзину (назовем это Site A). Мы создаем отдельный сайт (сайт B) для одного из наших продуктов, и мне нужно найти способ связать кнопку «Заказать» на сайте B, чтобы он вызывал вышеуказанную функцию javascript после загрузки сайта A, используя этот идентификатор продукта.
Что-то вроде следующего псевдо-кода:
<a href="http://example.com/success#javascript:AddToBasket(3471412104801);">
Add To Cart
</a>
Я основываю это на том, как работают HTML-ссылки, но я уверен, что это не так просто … Верно?
Я сталкивался с решениями, касающимися «инъекций», в которых у меня нет особого опыта, но общее настроение кажется негативным, ссылаясь на проблемы безопасности и взлома в качестве основных проблем. Это может показаться глупым, но оба веб-сайта являются нашими, и мы контролируем их. Если нам нужно что-то добавить на страницу успеха на сайте A, это возможно.
Одним из способов будет открыть http://example.com/success
в вашем AddToBasket()
функция:
function AddToBasket(id) {
window.open('http://example.com/success', '_blank');
...
}
Недостатком этого является то, что JavaScript не выполняется после открытия другой вашей страницы, а скорее ваша страница открывается во время выполнения вашего JavaScript.
Не уверен, поможет ли это, но вы можете использовать атрибут onclick на привязке.
<a href="fallbackurl" onclick="AddToBasket(3471412104801);">Add to Cart</a>
Когда вы нажимаете на якорь, он запускает функцию.