如何使用Java脚本加载外部php页面

时间:2014-02-23 作者:user48027

我想在WordPress页面中包含一段JavaScript代码。所发生的事情是代码没有正确加载,并且在WordPress的本地重定向命令中挂起了。

这是我提供的代码(适用于他们的网站和其他非WordPress域):

<link href="http://www.othersite.com/thepage.php?uid=1234" type="text/css" rel="stylesheet" /> 
<script type="text/javascript" src="http://www.othersite.com/thepage.php?uid=1234"></script>
<a id="OtherSite" target="_blank" href="http://www.othersite.com" title="The Other Site">Link to OtherSite</a>
如果我用代码直接查看我的页面源代码,它就指向了正确的方向。如果我为完全相同的页面打开浏览器的javascript控制台,它会显示链接已将自己重定向回我的域,而不是转到其他站点。com/页。php它实际上正在尝试mysite.com/page.php.

我试过了

Redirect 301 mysite.com/thepage.php othersite.com/thepage.php
我还尝试将以下内容添加到functions.php (打破了一切)

<?php 
if (function_exists(\'myscript\')) {
function myscript() {
     if (is_page(\'ThePage\')) {
    wp_register_script(\'myscript\', \'http://www.othersite.com/thepage.php?uid=1234\'__FILE__); 
    wp_enqueue_script(\'myscript\');
}
}
}
add_action(\'init\', \'myscript\');
?>
有人知道我怎样才能让它工作吗?

编辑@Cole老实说我不知道为什么__ FILE__ 在那里。我对这些东西了解得足够多,足以对我自己构成威胁,但还不足以创作出自己的作品。PHP内容是我根据教程编写的The Ins and Outs of The Enqueue Script For WordPress Themes and Plugins.

编辑@Morganestei我觉得这有点奇怪,但这就是他们给我的。CSS并不是为了搞乱othersite php中的任何内容,只是在底部返回到它们的链接。我将您的代码放入函数中。虽然它并没有像我其他的尝试那样完全破坏网站,但它确实产生了不幸的效果,被置于我的任何主题元素之外的最顶端。它也没有解决问题;wordpress仍在更改其他站点的链接。com到mysite。com。

编辑@helga根本的问题是,Wordpress正在自行神奇地重写我的出站链接,以引用一个不存在的内部位置。

1 个回复
SO网友:Morgan Estes

如果您试图从外部源加载脚本(如代码所示),请不要将该文章用作参考。它到处都是糟糕的代码,页面上的评论多次指出它已经过时,并为您指出一篇新文章。

以下是如何在特定页面上注册脚本并将其排队(使用清理后的代码版本):

if ( ! function_exists( \'myscript\' ) ) {
    function myscript() {
        if ( is_page( \'ThePage\' ) ) {
            wp_register_script( \'myscript\', \'http://www.othersite.com/thepage.php?uid=1234\' );
            wp_enqueue_script( \'myscript\' );
        }
    }
}
add_action( \'wp_enqueue_scripts\', \'myscript\' );
以下是发生变化的原因:

if (function_exists(\'myscript\')) {
function myscript() {
您的意思是,如果这个函数存在,那么就用完全相同的名称声明一个函数。这行不通,因为您不能重用函数名。您确实想检查函数是否不存在。

     if (is_page(\'ThePage\'))
is_page() 检查一些内容以查看您所在的页面,特别是

@param mixed$page页面ID、title、slug或其数组。

您的页面最好有一个标题“ThePage”,否则脚本将无法加载(slug都是小写的)。

    wp_register_script(\'myscript\', \'http://www.othersite.com/thepage.php?uid=1234\'__FILE__); 
这接近右边,但那__FILE__ 只是搞乱了函数调用,需要在此处删除。坏东西。

add_action(\'init\', \'myscript\');
在非管理页面上加载自己的脚本的合适挂钩是wp_enqueue_scripts.

现在,假设您注册的脚本实际上返回了一些有效的JavaScript,您将看到它加载在标题为“ThePage”的页面上。

结束