How to avoid the change of url in browser window
Hi all,
i have created 2 portal component and created as a anonymous iView and assigned in framework page(duplicated default framework page).And also master rule collection i added my framework page for anonymous, while i type the url /irj/portal/anonymous its rendering correctly.
my issue is......
one is acting as a main page another one will be called when the request made.
In that main component, i have hbj link, when i click that link it fetch the data from db and come back to jsp. but that time the url in the address bar is changed. i like to restrict that.
or any other way to control it, without java script.
Note:helpful answers will appreciated
thanks & regards,
Kathiresan R
Hi,
In my thread itself, i have mentioned that, i am duplicated default framework page. I am using CE, in that end user content folder there is no light framework.
Can u let u know where the light framwork present in CE.
Thanks & regards,
Kathiresan R
Similar Messages
-
How to avoid the transport request popup when changing real-time load behav
Hello experts,
I'm often switching between the two loading mode, and I already worked in systems where I don't have the popup for transport request : (so I guess there is a possible tuning anywhere)
How to avoid the "asking for a transport request" popup in BW when changing real-time load behaviour of an infocube
Thanks in advance, I will save precious time
Guillaume P.Hello Krishnan,
i tried to switch all object types from "not changeable" to "changeable original", but still get the popup when switching cube loading mode.
Do you know the particular object type to manage ?
Hello Vishnu,
same thing, whatever the option is (switch on / off standard) I have the transport popup.
Anyway thanks for your try. -
How to avoid the pdf file in browser cache
i am opening pdf files through browser. After that same pdf changed their contents . after i open the pdf but it will not updated. Bcoz this file in cache . so how to avoid the cache store for pdf files.
plz help me!!!the code is as bellow
File fBlob = new File ("test.pdf");
FileInputStream fIS = new FileInputStream(fBlob);
pstUpdate= con.prepareStatement("UPDATE table set file = ? where id = ?");
pstUpdate.setBinaryStream(1, fIS, (int) fBlob.length());
pstUpdate.setString(2, rs.getString("id"));
pstUpdate.execute();
con.commit(); -
How to get the changes during ABENDED replicat process
Hi,
I am working on Oracle GG bi-directional DML replication. I m stuck in one place.
My target replicat process was ABENDED due to Error :- ORA-01403: no data found. I restarted my replicat process again by runing the below command
GGSCI (db1) 30> alter replicat rep2 begin now
GGSCI (db1) 30> start replicat rep2
After restart the replicat process I can't see the changes on target server which I had applyed on source server during target replicat was ABENED.
My doubt is.
1. Is my command is correct for start the ABENDEND replicat process?
2.How to get the changes on target server which applyed on source during ABNDED of targer replication?
3.How to avoid the ABENDED replicat process on production server?
4.how to track the ABENDED process in production server?
Please HELP:(
Edited by: NaveenK on Aug 29, 2012 3:32 AMNaveenK wrote:
Hi,
I am working on Oracle GG bi-directional DML replication. I m stuck in one place.
My target replicat process was ABENDED due to Error :- ORA-01403: no data found. I restarted my replicat process again by runing the below command
GGSCI (db1) 30> alter replicat rep2 begin now
GGSCI (db1) 30> start replicat rep2
After restart the replicat process I can't see the changes on target server which I had applyed on source server during target replicat was ABENED.
My doubt is.
1. Is my command is correct for start the ABENDEND replicat process?
2.How to get the changes on target server which applyed on source during ABNDED of targer replication?
3.How to avoid the ABENDED replicat process on production server?
4.how to track the ABENDED process in production server?
Please HELP:(
Edited by: NaveenK on Aug 29, 2012 3:32 AMHi Naveen. SQL Error 1403 means row not found. Your data is out of sync and you should fix this.
By doing begin now when this happens, you are skipping all the transactions that were "in-line" since the process ABENDED.
You have more than one way to deal with these things, first of all you should synchronize your data! This should get rid of the 1403 errors.
Then you can write rules using REPERROR to tell the replicat how to behave in case of errors should come up.
Using logdump, you can read the exact row which failed and find out the next RBA to skip that specific one if required. You should also configure a DISCARDFILE to get details about errors when they happen.
Greetings,
N K -
How to avoid JsessionID passing in URL by using weblogic
Hi,
In my application,while login into it,the URL appended with JSessionID but it is security flaw which is very helpful for hacker to leglimate the application.So please how to avoid the Jsessionid is visible in URL to user and it should not appended in the url.
ie:
www.joy.com/loginAction.do;jsessionid=hQsmHn1BTY1mp12xLyGl0JTncVrpJGRswpMRY82wLbpqB8B5wJJ1!-829701127
the above seen url appended in my URL.
which Method is appropriate to control the appending and is there any tag attribute particularly in weblogic.xml which will take care to avoid to pass thru out application.
Please come up with solution ASAP i need to implement
Regards
KarthikHi Vikram,
As you said that,by disabling the particular tag attribute ,it will not present on url and how to rewrite the Present URL which back to original URL
Regards,
Karthik -
i have one database table called "sms1" that table is updated every day or on daily basis it has the following fields in it:
SQL> desc sms1;
Name Null? Type
MOBILE NUMBER
RCSTCNATCNATCNATCNAWTHER VARCHAR2(39 CHAR)
SNO NUMBER
INDATE DATE
From this table the is one column "RCSTCNATCNATCNATCNAWTHER VARCHAR2(39 CHAR)" . I am splitting it into different columns like :
SQL> desc smssplit;
Name Null? Type
R VARCHAR2(2 CHAR)
C VARCHAR2(2 CHAR)
S VARCHAR2(1 CHAR)
TC VARCHAR2(3 CHAR)
NA VARCHAR2(3 CHAR)
TC2 VARCHAR2(3 CHAR)
NA2 VARCHAR2(3 CHAR)
TC3 VARCHAR2(3 CHAR)
NA3 VARCHAR2(3 CHAR)
TC4 VARCHAR2(3 CHAR)
NA4 VARCHAR2(3 CHAR)
WTHER VARCHAR2(10 CHAR)
SNO NUMBER
INSERTDATA VARCHAR2(25 CHAR)
Now I am written a procedure to insert the data from "Sms1" table to smssplit table...
CREATE OR REPLACE PROCEDURE SPLITSMS
AS
BEGIN
INSERT INTO scott.SMSSPLIT ( R,C,S,TC,NA,TC2,NA2,TC3,NA3,TC4,NA4,WTHER,SNO)
SELECT SUBSTR(RCSTCNATCNATCNATCNAWTHER,1,2) R,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,3,2) C,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,5,1) S,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,6,3) TC,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,9,3) NA,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,12,3) TC2,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,15,3) NA2,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,18,3) TC3,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,21,3) NA3,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,24,3) TC4,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,27,3) NA4,
SUBSTR(RCSTCNATCNATCNATCNAWTHER,30,10) WTHER, SNO
FROM scott.SMS1 where SNO=(select MAX (sno) from SMS1);
END;
Now in order to update the second table with data from first table on regular basis I have written a job scheduler and I am using oracle 9.0. version...
DECLARE
X NUMBER;
JobNumber NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
job => X
,what => 'scott.SPLITSMS;'
,next_date => SYSDATE+1/1440
,interval => 'SYSDATE+1/1440 '
,no_parse => FALSE
:JobNumber := to_char(X);
END;
Now this job scheduler is working properly and updating the data for every one minute but it is taking or updating the duplicate values also ..like example:
R C S TC NA TC2 NA2 TC3 NA3 TC4 NA4 WTHER SNO
INSERTDATA
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:49:16
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:49:16
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:50:17
R C S TC NA TC2 NA2 TC3 NA3 TC4 NA4 WTHER SNO
INSERTDATA
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:50:17
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:51:19
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:51:19
R C S TC NA TC2 NA2 TC3 NA3 TC4 NA4 WTHER SNO
INSERTDATA
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:52:20
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:52:20
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:53:22
R C S TC NA TC2 NA2 TC3 NA3 TC4 NA4 WTHER SNO
INSERTDATA
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:53:22
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:54:45
33 35 2 123 456 789 543 241 643 243 135 RRRRRR 55
06-SEP-2012 03:54:45
Now I do not want the duplicate values to be updated ...and want them to ignore them.....
please I need a help on this query........How to avoid the duplicate values............Look at the posts closely:might not be needed if formatted ;)
create or replace procedure splitsms as
begin
insert into scott.smssplit (r,c,s,tc,na,tc2,na2,tc3,na3,tc4,na4,wther,sno)
select substr(rcstcnatcnatcnatcnawther,1,2) r,
substr(rcstcnatcnatcnatcnawther,3,2) c,
substr(rcstcnatcnatcnatcnawther,5,1) s,
substr(rcstcnatcnatcnatcnawther,6,3) tc,
substr(rcstcnatcnatcnatcnawther,9,3) na,
substr(rcstcnatcnatcnatcnawther,12,3) tc2,
substr(rcstcnatcnatcnatcnawther,15,3) na2,
substr(rcstcnatcnatcnatcnawther,18,3) tc3,
substr(rcstcnatcnatcnatcnawther,21,3) na3,
substr(rcstcnatcnatcnatcnawther,24,3) tc4,
substr(rcstcnatcnatcnatcnawther,27,3) na4,
substr(rcstcnatcnatcnatcnawther,30,10) wther,
sno
from scott.sms1 a
where sno = (select max(sno)
from sms1
where sno != a.sno
); ---------------> added where clause with table alias.
end;Regards
Etbin -
How can avoid the problem of Parameter Prompting when I submitting ?
I am developing web application in visual studio 2008 in csharp.How can avoid the issue or problem of Parameter Prompting when I send parameters programaticaly or dyanmicaly? I am sending the values from .net web form to crystal report but it is still asking for parameters. so when i submit second time that is when the reports is being genereated. How can i solve this problem. Please help. The code Iam using is below.
1. using System;
2. using System.Collections;
3. using System.Configuration;
4. using System.Data;
5. using System.Linq;
6. using System.Web;
7. using System.Web.Security;
8. using System.Web.UI;
9. using System.Web.UI.HtmlControls;
10. using System.Web.UI.WebControls;
11. using System.Web.UI.WebControls.WebParts;
12. using System.Xml.Linq;
13. using System.Data.OleDb;
14. using System.Data.OracleClient;
15. using CrystalDecisions.Shared;
16. using CrystalDecisions.CrystalReports.Engine;
17. using CrystalDecisions.Web;
18.
19.
20. public partial class OracleReport : System.Web.UI.Page
21. {
22. CrystalReportViewer crViewer = new CrystalReportViewer();
23. //CrystalReportSource crsource = new CrystalReportSource();
24. int nItemId;
25.
26. protected void Page_Load(object sender, EventArgs e)
27. {
28. //Database Connection
29. ConnectionInfo ConnInfo = new ConnectionInfo();
30. {
31. ConnInfo.ServerName = "127.0.0.1";
32. ConnInfo.DatabaseName = "Xcodf";
33. ConnInfo.UserID = "HR777";
34. ConnInfo.Password = "zghshshs";
35. }
36. // For Each Logon parameters
37. foreach (TableLogOnInfo cnInfo in this.CrystalReportViewer1.LogOnInfo)
38. {
39. cnInfo.ConnectionInfo = ConnInfo;
40.
41. }
42.
43.
44.
45.
46.
47.
48. //Declaring varibles
49. nItemId = int.Parse(Request.QueryString.Get("ItemId"));
50. //string strStartDate = Request.QueryString.Get("StartDate");
51. //int nItemId = 20;
52. string strStartDate = "23-JUL-2010";
53.
54. // object declration
55. CrystalDecisions.CrystalReports.Engine.Database crDatabase;
56. CrystalDecisions.CrystalReports.Engine.Table crTable;
57.
58.
59. TableLogOnInfo dbConn = new TableLogOnInfo();
60.
61. // new report document object
62. ReportDocument oRpt = new ReportDocument();
63.
64. // loading the ItemReport in report document
65. oRpt.Load("C:
Inetpub
wwwroot
cryreport
CrystalReport1.rpt");
66.
67. // getting the database, the table and the LogOnInfo object which holds login onformation
68. crDatabase = oRpt.Database;
69.
70. // getting the table in an object array of one item
71. object[] arrTables = new object[1];
72. crDatabase.Tables.CopyTo(arrTables, 0);
73.
74. // assigning the first item of array to crTable by downcasting the object to Table
75. crTable = (CrystalDecisions.CrystalReports.Engine.Table)arrTables[0];
76.
77. dbConn = crTable.LogOnInfo;
78.
79. // setting values
80. dbConn.ConnectionInfo.DatabaseName = "Xcodf";
81. dbConn.ConnectionInfo.ServerName = "127.0.0.1";
82. dbConn.ConnectionInfo.UserID = "HR777";
83. dbConn.ConnectionInfo.Password = "zghshshs";
84.
85. // applying login info to the table object
86. crTable.ApplyLogOnInfo(dbConn);
87.
88.
89.
90.
91.
92.
93. crViewer.RefreshReport();
94.
95. // defining report source
96. crViewer.ReportSource = oRpt;
97. //CrystalReportSource1.Report = oRpt;
98.
99. // so uptill now we have created everything
100. // what remains is to pass parameters to our report, so it
101. // shows only selected records. so calling a method to set
102. // those parameters.
103. setReportParameters();
104. }
105.
106. private void setReportParameters()
107. {
108.
109. // all the parameter fields will be added to this collection
110. ParameterFields paramFields = new ParameterFields();
111. //ParameterFieldDefinitions ParaLocationContainer = new ParameterFieldDefinitions();
112. //ParameterFieldDefinition ParaLocation = new ParameterFieldDefinition();
113.
114. // the parameter fields to be sent to the report
115. ParameterField pfItemId = new ParameterField();
116. //ParameterField pfStartDate = new ParameterField();
117. //ParameterField pfEndDate = new ParameterField();
118.
119. // setting the name of parameter fields with wich they will be recieved in report
120.
121. pfItemId.ParameterFieldName = "RegionID";
122.
123. //pfStartDate.ParameterFieldName = "StartDate";
124. //pfEndDate.ParameterFieldName = "EndDate";
125.
126. // the above declared parameter fields accept values as discrete objects
127. // so declaring discrete objects
128. ParameterDiscreteValue dcItemId = new ParameterDiscreteValue();
129. //ParameterDiscreteValue dcStartDate = new ParameterDiscreteValue();
130. //ParameterDiscreteValue dcEndDate = new ParameterDiscreteValue();
131.
132. // setting the values of discrete objects
133.
134.
135. dcItemId.Value = nItemId;
136.
137. //dcStartDate.Value = DateTime.Parse(strStartDate);
138. //dcEndDate.Value = DateTime.Parse(strEndDate);
139.
140. // now adding these discrete values to parameters
141. //paramField.HasCurrentValue = true;
142.
143.
144.
145. //pfItemId.CurrentValues.Clear();
146. int valueIDD = int.Parse(Request.QueryString.Get("ItemId").ToString());
147. pfItemId.Name = valueIDD.ToString();
148.
149. pfItemId.CurrentValues.Add(dcItemId);
150. //ParaLocation.ApplyCurrentValues;
151. pfItemId.HasCurrentValue = true;
152.
153. //pfStartDate.CurrentValues.Add(dcStartDate);
154. //pfEndDate.CurrentValues.Add(dcEndDate);
155.
156. // now adding all these parameter fields to the parameter collection
157. paramFields.Add(pfItemId);
158.
159. //paramFields.Add(pfStartDate);
160. //paramFields.Add(pfEndDate);
161. /////////////////////
162. //Formula from Crystal
163. //crViewer.SelectionFormula = "{COUNTRIES.REGION_ID} = " + int.Parse(Request.QueryString.Get("ItemId")) + "";
164. crViewer.RefreshReport();
165. // finally add the parameter collection to the crystal report viewer
166. crViewer.ParameterFieldInfo = paramFields;
167.
168.
169.
170. }
171. }Keep your post to under 1200 characters, else you loose the formatting. (you can do two posts if need be).
Re. parameters. First, make sure yo have SP 1 for CR 10.5:
https://smpdl.sap-ag.de/~sapidp/012002523100009351512008E/crbasic2008sp1.exe
Next, see the following:
[Crystal Reports for Visual Studio 2005 Walkthroughs|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2081b4d9-6864-2b10-f49d-918baefc7a23]
CR Dev help file:
http://msdn2.microsoft.com/en-us/library/bb126227.aspx
Samples:
https://wiki.sdn.sap.com/wiki/display/BOBJ/CrystalReportsfor.NETSDK+Samples
Ludek
Follow us on Twitter http://twitter.com/SAPCRNetSup -
How to use the change log in ODS to track Delta change?
People say that historical data (like Delta change) in ODS can be tracked in the Change Log. How to use the change log to track historic data?
ThanksKevin
See if it helps
Every ODS object is represented on the database by three transparent tables:
Active data: A table containing the active data (A table)
Activation queue: For saving ODS data records that are to be updated but that have not yet been activated. The data is deleted after the records have been activated.
<b>Change log: Contains the change history for delta updating from the ODS Object into other data targets, such as ODS Objects or InfoCubes for example.</b>
An exception is the transactional ODS object, which is only made up of the active data table.
The tables containing active data are constructed according to the ODS object definition, meaning that key fields and data fields are specified when the ODS object is defined. Activation queue and change log are the same in the tables structure. They have the request ID, package ID and the record number as a key.
Data base structure changes
http://help.sap.com/saphelp_nw04/helpdata/en/d2/d53ec3efdc9b47a9502c3a4565320c/frameset.htm
Hope this helps
Thnaks
Sat -
How to restrict the change access in CRM for OLTP orders
Hi Guru's,
Please let me know how to restrict the change access in CRM for the orders that are created in ECC. The ECC orders will only for display in CRM but not for change,
We have the orders that are created in ECC, it will flows to CRM and should restrict the access to get in to the change mode in CRM but as of now CRM system is allowing change mode for ECC orders and ending up with errors.
Is there any additional middleware parameter that needs to be added to SMOFPARSFA table to get this functionality! Please advice! Thank your for your help.
Regards
SuneelHi.
You can use the PFCG role to control if the user is able to create, change, delete or only display a business transaction type.
Regards. -
How to get the current page URL
HI All
I am working in oracle apps 4.0
I have one page called history in that i have one page item called Application url. My application id is 122 but its a copy of application 106
How to get the current page url for the page item.
Any steps should be help ful
Thanks & Regards
Srikkanth.MI'm not 100% clear on what the requirement is from the description, however it does sound like you are making things unnecessarily complicated.
If you want permanent/ID-independent links then use application and page aliases.
so here we used to display the url like this: <tt>{noformat}http://81.131.254.171:8080/apex/f?p=122{noformat}</tt>
Do you mean that the URL is displayed like that? If so that doesn't seem particularly helpful. How is anyone supposed to know what it is?
There are many ways to provide links in APEX—including lists and nav bars.
Where the link is to another resource located on the same server (such as another page in the same app, or a different app in the workspace), relative addressing can be used, making it unecessary to include scheme, domain and port information in the URL. For example, if the page to be linked to has a page alias <tt>ABOUT</tt> in an application with alias <tt>UNITY</tt>, and the apps share an authentication scheme/cookie to permit shared sessions, then the link URL is simply
f?p=UNITY:ABOUT:&APP_SESSION. -
How to avoid the event has been repeated many times in the background
Application, the main screen is divided into two containers:left and right container,
The right side of the container is divided into two containers:top and bottom container,
There is a button in the left container.
Click the button, the container at lower right will using ModuleManager load Module, The following container load of the right of the screen has been monitoring the container above the action.
Problem:
When you click the button repeatedly to load the container in the lower right, it will create multiple instances, and can not be freed immediately. When the above container do an action or event, there are multiple instances of monitoring exist.
The background will be repeat the action or event many times.
How to avoid the event has been repeated many times in the background?
ThanksFlex harUI
multiple instances of a mxml, maybe ? -
How to see the change logs for billing document
Dears,
Could you please how to see the change logs for billing document.
My client is using ECC 6.0 & if i use VF03 > Environment > changes > does not show the changes i had made.
Thanks in advance
Ranjanhello, friend.
you should be able to see changes done after the initial creation and saving, by going thru Environment > Changes. try it again, and this time make sure that changes were done to the billing document prior to posting to accounting.
normally, when configuration of Billing is done correctly, there will be little or no instances of changing anything in the Billing document, as saving the document after creation will post this to Accounting. of course, inclusion of a posting block in the billing type will provide you the opportunity for changes.
regards. -
How to get the Change node in Production Server!!!!!
Hi Guys,
Kindly let me know how to get the Change node in Production Server for the Transaction Code Pe03 for generating the Acknowledgement No for the year 2008 .
Plz provide me the steps how to get the Change Node for Acknowledgement No so tat i can get the configuration done.
Regards
Ansuman Mohanty.Hi Mr!
If you want to generate the e-file feature 40ACK, do it in our Customization client box (Golden box) & save the request & move to Quality & production.
Still if you need to workout only in Production, than with the help of Basis people you can get the Production change mode for 5 to 10 min time & can generate it. But mostly Basis people wont give us change mode for Production box ... with ur request they can do..try it.
Did u collected 4 quarter TAN no's for 2008 Quarter...if not collect it & generate it at a time.
All the best:-)
Kind Regards,
Saisree.S -
How to see the changes made for iPad in iTunes on my iPad?
How to see the changes made for iPad in iTunes on my iPad? I've been transferring some pdf-files and changed the name on them in iTunes under the index books for my iPad device, but the changes do not show in iBooks-PDF. What to do?
Yes I tried syncing a lot of times, but the changes still wouldn't show, so I did as you said by beginning from the start by adding the PDF's once again.
Thanks for your help, it works now :-) -
How to avoid the long time consuming process of settlement on periodic basi
For investment Project(purpose of capitalisation) related expenses We would like to show it Directly in Balance Sheet rather than P/L A/C.Whether it is feasible or not?as per one of consultant it will be first hit the p/L and after settlement it will only be shown in B/Sheet.So how to avoid the long time consuming process of settlement on periodic basis.
Hi, could you write down an example? And what you mean by investment project-is this an WBS?
Maybe you are looking for
-
When I click on 2014 month view in calendar iPhone 5 s stucks, lagging. What is the problem I don't know????
-
MacBook Pro HD issues; won't boot to any drive; need to recover data
*Apologies in advance for the lengthy post. I just want to be sure I include as much detail as possible. Thanks in advance for reading all of this and offering any thoughts and suggestions. I have a 13-inch late 2011 MacBook Pro running OS 10.7. The
-
Possible Mighty Mouse solution?
Myself along with what seems alot of people have had problems with the scroll wheel on the mighty mouse. My first one, which I bought for my eMac, was fine for the first few days, then one day, the vertical (down) scrolling gave out. It almost is lik
-
Time Stamp Conversion program usage
Hi , Could you plz give solution for where we can use TIMESTAMP program in SAP R/3 an in SAP BW? Thanks Surya.
-
I am not able to remove the 1-inch gap which came just after installing google toolbar. After that, I uninstalled Google Toolbar and Firefox respectively and then again, installed Firefox alone but the gap of 1-inch (1 row) remains just below the add