Home Web Front-end JS Tutorial Window.open() access is denied appears in the script - Access Denied Situation and Analysis_Basic Knowledge

Window.open() access is denied appears in the script - Access Denied Situation and Analysis_Basic Knowledge

May 16, 2016 pm 07:21 PM
- access denied is access denied

Maybe some friends already know about this situation, but I still write down my analysis ideas for other friends’ reference.

Yesterday, I saved the blog page in another place to debug and change the blog skin locally.

Introduction:
I want to use script control to dynamically add the three buttons Run HTML code, CopyCode, and SaveCode to the multi-line text box with the css class name code_textarea when the onload page is loaded. inside.

Status description:
On the non-server side (that is, not debugging under the local server), all the buttons have appeared under the multi-line text box, but when debugging the script (click Run HTML code), " Access denied...Debugging on the server is normal.

Analysis:
Looking at the code, I found that there is an error in the script here. The code is as follows:
function fnRunHtmlCode(obj)
{
//try {
//if (typeof (obj)=="string") obj=document.getElementById(obj);
var wnd = window.open('', "_blank", '');
wnd.document.open('text /html', 'replace');
wnd.document.writeln(obj.value);
wnd.document.close();
//} catch(ex) { alert(ex.message ) };
};
Open with Mozilla, run the regex, and the script has no errors. After working on it for about half an hour, I deleted the rest of the code, copied the dynamically generated div and button codes in Mozilla to check, and copied the buttons dynamically loaded on IE to DW to check. There was no abnormality. Including running the above function on another page, it is still normal, and changing this function to window.open('','','') still access is denied.

Since access is denied, it must be cross-domain under normal circumstances. But for local debugging, no other code is added. How can it be cross-domain? Puzzled.
So I want to put it on the blog first. The strange thing is that it works fine if I put it on the server, so I put the local page on the local server and it works fine. This time it was even more strange. Is it an IE bug? Not true because the server can run. Code problem? This is not true because it works fine on other pages and no other code is involved. It's just a funtion, which means there must be something wrong with the downloaded page. Does the HTML page output by CSDN blog have code similar to document.domain?

Step-by-step debugging successful:
Remove all unnecessary parts of the original code (including Html). The final simplification is as follows:


[Ctrl A Select all Note: If you need to introduce external Js, you need to refresh to execute
]


Operation remains the same.
So remove the DTD.

[Ctrl A select all Note:
If you need to introduce external Js, you need to refresh to execute ]

정상적으로 돌아가네요~~이유는 알겠습니다.

이 문장으로 인해 오랫동안 이유를 찾았습니다. 마침내 파헤쳐본 결과, 이 코드로 저장이 IE 아래 도메인 간 존재한다는 것이 입증되었지만 Mozilla는 이 문장에 대해 아무런 응답도 하지 않았습니다.

후기:


/본문>
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use sql if statement How to use sql if statement Apr 09, 2025 pm 06:12 PM

SQL IF statements are used to conditionally execute SQL statements, with the syntax as: IF (condition) THEN {statement} ELSE {statement} END IF;. The condition can be any valid SQL expression, and if the condition is true, execute the THEN clause; if the condition is false, execute the ELSE clause. IF statements can be nested, allowing for more complex conditional checks.

What are the benefits of multithreading in c#? What are the benefits of multithreading in c#? Apr 03, 2025 pm 02:51 PM

The advantage of multithreading is that it can improve performance and resource utilization, especially for processing large amounts of data or performing time-consuming operations. It allows multiple tasks to be performed simultaneously, improving efficiency. However, too many threads can lead to performance degradation, so you need to carefully select the number of threads based on the number of CPU cores and task characteristics. In addition, multi-threaded programming involves challenges such as deadlock and race conditions, which need to be solved using synchronization mechanisms, and requires solid knowledge of concurrent programming, weighing the pros and cons and using them with caution.

Unable to log in to mysql as root Unable to log in to mysql as root Apr 08, 2025 pm 04:54 PM

The main reasons why you cannot log in to MySQL as root are permission problems, configuration file errors, password inconsistent, socket file problems, or firewall interception. The solution includes: check whether the bind-address parameter in the configuration file is configured correctly. Check whether the root user permissions have been modified or deleted and reset. Verify that the password is accurate, including case and special characters. Check socket file permission settings and paths. Check that the firewall blocks connections to the MySQL server.

How to avoid third-party interfaces returning 403 errors in Node environment? How to avoid third-party interfaces returning 403 errors in Node environment? Apr 01, 2025 pm 02:03 PM

How to avoid the third-party interface returning 403 error in the Node environment. When calling the third-party website interface using Node.js, you sometimes encounter the problem of returning 403 error. �...

How to solve the 'Network Error' caused by Vue Axios across domains How to solve the 'Network Error' caused by Vue Axios across domains Apr 07, 2025 pm 10:27 PM

Methods to solve the cross-domain problem of Vue Axios include: Configuring the CORS header on the server side using the Axios proxy using JSONP using WebSocket using the CORS plug-in

How to configure zend for apache How to configure zend for apache Apr 13, 2025 pm 12:57 PM

How to configure Zend in Apache? The steps to configure Zend Framework in an Apache Web Server are as follows: Install Zend Framework and extract it into the Web Server directory. Create a .htaccess file. Create the Zend application directory and add the index.php file. Configure the Zend application (application.ini). Restart the Apache Web server.

How to efficiently obtain component_verify_ticket in EasyWechat 5.5? How to efficiently obtain component_verify_ticket in EasyWechat 5.5? Apr 01, 2025 pm 12:42 PM

Get ComponentVerify in EasyWechat5.5...

How to use Debian Apache logs to improve website performance How to use Debian Apache logs to improve website performance Apr 12, 2025 pm 11:36 PM

This article will explain how to improve website performance by analyzing Apache logs under the Debian system. 1. Log Analysis Basics Apache log records the detailed information of all HTTP requests, including IP address, timestamp, request URL, HTTP method and response code. In Debian systems, these logs are usually located in the /var/log/apache2/access.log and /var/log/apache2/error.log directories. Understanding the log structure is the first step in effective analysis. 2. Log analysis tool You can use a variety of tools to analyze Apache logs: Command line tools: grep, awk, sed and other command line tools.

See all articles