[英]Passing 2 URL Parameters?
我需要在URL中傳遞2個URL參數。 該URL源自電子郵件,用戶將單擊指向他們鏈接到我的站點的鏈接。 第一個參數觸發頁面上的腳本第二個參數是我的CMS將從參數呈現的模塊。
第一個參數是: message=1
(此參數觸發javascript)
第二個參數是: name={tag_recipientfirstname}
(我的CMS將呈現模塊)
為第一個調用的腳本如下所示:
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function() {
var url = window.location.href;
url = url.toLowerCase();
if (url.indexOf('message=1') != -1) {
$j("a.message").colorbox({
open:true
});
}
$j("a.message").colorbox(); //not related to URL parameter
});
</script>
第二個參數在頁面上用作:
<div>
<p>{ module_url,name} (again CMS will render this module)</p>
</div>
編輯
我意識到我留下了一些東西:
第一:如何傳遞這兩個參數,以便它們都能如上所列運行?
我使用的CMS是Business Catalyst。
//split the `location.search` string at the ampersands
var search_arr = window.location.search.replace('?', '').split('&'),
len = search_arr.length,
get_vars = {},
tmp = [];
//iterate through the key/value pairs and add them to the `get_vars` object
for (var i = 0; i < len; i++) {
tmp = search_arr[i].split('=');
get_vars[tmp[0]] = tmp[1];
}
//you can now access your GET variables through the `get_vars` object like: `get_vars.name`
//you can check for the existence of a certain GET variable like this
if (typeof(get_vars['message-1']) != 'undefined') {
$j("a.message").colorbox({
open:true
});
}
這是一個演示:http://jsfiddle.net/aBH8K/1/(http://jsfiddle.net/aBH8K/1/show/?message-1=3與get var一起看)
一些相關文件:
window.location
: https : //developer.mozilla.org/en/DOM/window.location 你的問題不是關於通用開發,而是一個非常具體的商業產品; 我不知道你訂購了哪個計划(免費支付?),但無論如何最好通過他們的支持(另見我的結論)
不過,我會盡力讓你走上正軌。
第一,
在電子郵件中,您將以某種方式使用@Jasper解釋的所需的兩個參數構建鏈接。 這意味着:
http://yourwebsite.com/destination/path/?message=1&name={tag_recipientfirstname}
問號后面的所有內容都是GET查詢字符串 。 參數由“&”符號分隔。
我絕對不知道在BC電子郵件中如何正確構建URL,但我覺得它應該是一個自動化的地方,允許您在需要時指定其他參數。
你得到的東西仍然有效。 它不是很好,您可以使用Jasper的解決方案或任何其他解決方案,例如如何在JavaScript中獲取查詢字符串值?
除非你想讓它變得更好,更強大,否則無所事事。
您通常在CMS中有方法來檢索獲取參數。 經常是這樣的
{ GET.param_name }
我不是卑詩省的專家,但我覺得你正在為一些可能已經出爐的東西采取復雜的道路。
我再次建議你進入他們的支持部分 (盡管我必須說,這是相當混亂的!)並試着了解什么是實現目標的最佳方式。 總是有很多方法可以給可憐的貓皮膚。 如果您在計划中獲得支持,請務必按照這種方式解釋您的目標,而不是如何實現您認為最好的技術解決方案!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.