Как вытащить сегмент URL текущей страницы (последние пять цифр) в iFrame на странице в Wordpress? - PullRequest
0 голосов
/ 02 апреля 2019

Наш веб-сайт использует Wordpress, и мы открываем вакансии из программного обеспечения с помощью iFrame.Запрос iFrame требует от нас получить «код» задания по URL (например, xyz.com/job-details/jobcode=11568).

Поставщик предоставил javascript, который должен это делать, но он не работает.Когда страница загружается, src просто выводит как src (unknown) ". Iframe должен читаться как src="https://evoportalus.tracker-rms.com/COMPANY/jobs?fields=title,location&filters=Reference|<<the jobcode pulled from the URL>>

Может кто-нибудь помочь?

<script type="text/javascript">
loadSite();
</script>

<iframe src="" frameborder="0" scrolling="yes" width="700" height="700" id="trmsjobs"></iframe>

<script type="text/javascript">
    var getQueryString = function (field, url) {
        var href = url ? url : window.location.href;
        var reg = new RegExp('[?&]' + field + '=([^&#]*)', 'i');
        var string = reg.exec(href);
        return string ? string[1] : null;
    };
    function loadSite() {
        var site = "https://evoportalus.tracker-rms.com/LincolnStrategic/jobs";
        site += "?fields=title,location&filters=reference|" + getQueryString("jobcode");
        document.getElementById('trmsjobs').src = site;
    }
</script>

On Edit

Извиняюсь, я не думаю, что мое первоначальное объяснение было достаточно ясным. Кажется, что переменная getQueryString работает, она выводит очень хорошо. Проблема в том, что переменная "site" не вставляется в значение SRC вiFrame, что и должен делать этот скрипт.

Ответы [ 2 ]

1 голос
/ 02 апреля 2019

Настройте свой код, чтобы переместить вызов функции в тот же блок и изменить синтаксис var functionName = function на function functionName синтаксис


<iframe src="" frameborder="0" scrolling="yes" width="700" height="700" id="trmsjobs"></iframe>

<script type="text/javascript">
        loadSite();
    function getQueryString (field, url) {
        var href = url ? url : window.location.href;
        var reg = new RegExp('[?&]' + field + '=([^&#]*)', 'i');
        var string = reg.exec(href);
        return string ? string[1] : null;
    };
    function loadSite() {
        var site = "https://evoportalus.tracker-rms.com/LincolnStrategic/jobs";
        site += "?fields=title,location&filters=reference|" + getQueryString("jobcode");
        console.log(site);
        document.getElementById('trmsjobs').src = site;
    }
</script>
0 голосов
/ 02 апреля 2019

Вы можете разделить строку с помощью «/», а затем найти для каждого компонента нужный параметр, разделив это время с помощью «=».Не чистое решение, но работает:

var getQueryString = function(field, url){
    var ret=null;
    url.split("/").forEach(function(v){
        var s=v.split("=");
        if(s.length>1 && s[0]==field){
            ret=s[1];
            return;
        }
    });
    return ret;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...