jos*_*new 5 html javascript query-string
所以,我发现了这个类似的请求,但发帖者回答了自己并详细说明了:
本质上,我有一个事件管理网站,我可以在其中编辑 html 和 javascript,但不能编辑 php。我正在尝试设置通过链接传递折扣代码以用于联属营销跟踪。系统已经允许代码以以下形式在查询中传递:
https://www.example.com/reg/newreg.php?eventid=89335&discountcode=code
但
需要注意的是,系统仅在将人员直接链接到注册过程时才允许这样做,如上所示。由于没有人想在没有看到活动详细信息的情况下购买门票,因此这几乎毫无用处。主页地址的形式为:
https://www.example.com/home/89335
但是,当我尝试将 &discountcode=code 附加到地址时,单击注册链接并转到注册页面后,查询字符串会丢失。
关于如何处理这个问题有什么建议吗?
谢谢!
小智 3
您可以尝试解析所有包含 href 的 a 标签,并使用 javascript 更新 href。
\n\n如果你可以使用 jQuery,你可以这样做(完全未经测试,所以这不能直接工作,但你应该找到解决方案:))
\n\n要获取 url 参数,您可以使用此处的解决方案:/sf/answers/361081101/
\n\nfunction getParameterByName(name) {\n var match = RegExp(\'[?&]\' + name + \'=([^&]*)\').exec(window.location.search);\n return match && decodeURIComponent(match[1].replace(/\\+/g, \' \'));\n}\n\njQuery(document).ready(function ($) {\n var persistedQueryParam = getParameterByName(\'discountcode\');\n\n if (persistedQueryParam && persistedQueryParam.length > 0) {\n $(\'a[href]\').each(function () {\n var elem = $(this);\n var href = elem.attr(\'href\');\n elem.attr(\'href\', href + (href.indexOf(\'?\') != -1 ? \'&\' : \'?\') + \'discountcode=\' + persistedQueryParam);\n });\n }\n});\nRun Code Online (Sandbox Code Playgroud)\n\n只需将“discountcode”字符串替换为您的真实参数名称即可。
\n\n希望有帮助。
\n\n最好的问候,\n克里斯
\n\n更新:添加了查询字符串和 \'?\' / \'&\' 处理。
\n\n更新 2:从 prop 更改为 attr。
\n\n更新 3:名称从“param”更改为“discountcode”。
\n\nU\xc3\xbcdate 4:添加了长度检查@ persistedQueryParam,终于有机会测试脚本了:)
\n| 归档时间: |
|
| 查看次数: |
3971 次 |
| 最近记录: |