URL重定向中包含短代码的JavaScript?

URL重定向中包含短代码的JavaScript?,javascript,php,wordpress,redirect,shortcode,Javascript,Php,Wordpress,Redirect,Shortcode,我有一个JavaScript重定向,php在wordpress上的页面模板中调用一个短代码 <script language="javascript"> (function() { setTimeout(function() { var __redirect_to = 'http://dsdomination.com/sp/pro?aid=<?php echo do_shortcode("[affiliateself type='DSDomination' default='C

我有一个JavaScript重定向,php在wordpress上的页面模板中调用一个短代码

<script language="javascript">
(function() {
setTimeout(function() {
var __redirect_to = 'http://dsdomination.com/sp/pro?aid=<?php echo do_shortcode("[affiliateself type='DSDomination' default='ClintonLee83']"); ?>';//

var _tags = ['button', 'input', 'a'], _els, _i, _i2;
for(_i in _tags) {
    _els = document.getElementsByTagName(_tags[_i]);
    for(_i2 in _els) {
        if((_tags[_i] == 'input' && _els[_i2].type != 'button' && _els[_i2].type != 'submit' && _els[_i2].type != 'image') || _els[_i2].target == '_blank') continue;
        _els[_i2].onclick = function() {window.onbeforeunload = function(){};}
    }
}

window.onbeforeunload = function() {
    setTimeout(function() {
        window.onbeforeunload = function() {};
        setTimeout(function() {
            document.location.href = __redirect_to;
        }, 500);
    },5);
    return 'Are you sure?';
}
}, 500);
})();
</script>

(功能(){
setTimeout(函数(){

var\uuu重定向到http://dsdomination.com/sp/pro?aid=what 是
do\u shortcode(etc..)
的输出吗?如果这是在
php
文件(页面模板)中,那么它应该工作,
do\u shortcode
应该返回一个值。什么意思是“不工作”?你在控制台中看到错误了吗?我很确定你不能在
onbeforeuload
中设置
document.location.href
。我不确定浏览器是否允许你这样做,他们可能会阻止它。@RocketHazmat,似乎可以使用
setTimeout