Как открыть несколько окон одновременно в Salesforce?

Я хочу открыть 2 отчета о продажах одновременно при нажатии на пользовательское поле формулы. Я использовал функцию гиперссылки в своем поле формулы, но в этом я вызываю свою страницу Visualforce и перенаправляю на метод класса вершины

Поле формулы:

       HYPERLINK("/apex/leadreport?website=" & Website, "Find Competitors in Database", "_blank")

Высший класс:

    public PageReference redirectToLeadReport(){

    // Get the Results from
    pageReference pg = new pageReference('https://ap1.salesforce.com/00O90000001wiUo?pv0='+websites  );
    pg.setRedirect(true);
    return pg; 
    }

Страница VisualForce:

   <apex:page action="{!redirectToLeadReport}" controller="leadReportController" >
   </apex:page>

Если какой-либо орган знает об этом, пожалуйста, помогите мне.

Спасибо, Кануприя.


person Kp Gupta    schedule 21.12.2011    source источник


Ответы (1)


Единственный способ открыть два окна с помощью одной ссылки - использовать какой-нибудь javascript, который вы не сможете сделать (с легкостью, если вообще) из поля формулы. Тем не менее, вы можете использовать некоторый javascript, когда ваша страница Visualforce загружается, а затем открывать другое окно, которое вам нужно:

window.onload = function () {
    window.open("http://url-to-open");
}

На этой странице содержится полезная информация о window.open.

Изменить

Я только что провел некоторые эксперименты, используя предложение sorenkrabbe, и это действительно работает, единственная загвоздка в том, что вы либо получаете одну дополнительную вкладку для javascript, если используете «_blank» в качестве цели, либо покидаете свою текущую страницу, если вы используйте "_self" в качестве цели. Это можно решить, используя window.close(), чтобы закрыть только что открытое окно для скрипта:

ГИПЕРССЫЛКА("javascript:window.open('http://www.google.com?q=window1'); window.open('http://www.google.com?q=window2'); window.close ();", 'Откройте Windows!' , '_blank')

person Matt Lacey    schedule 21.12.2011
comment
Я бы сказал, что можно выполнить JS из поля формулы, определив строку формулы i следующим образом: HYPERLINK(javascript:window.open('google.com?q=window1'); window.open('google. com?q=window2'); Выполните JS, чтобы открыть два окна) - person sorenkrabbe; 22.12.2011
comment
Спасибо, ребята, за ответ. Я уже использую этот вариант, но проблема с этой ГИПЕРССЫЛКОЙ(javascript:window.open('google.com? q=window1'); window.open('google.com?q=window2'); window.close();, 'Откройте Windows!', '_blank') не принимает значение моего поля, которое я создаю динамически. например: вместо окна1 я хочу использовать свое пользовательское поле. - person Kp Gupta; 23.12.2011
comment
Разве вы не можете просто ссылаться на свои поля в формуле? - person Matt Lacey; 24.12.2011