ホームページ ウェブフロントエンド jsチュートリアル 脚本中出现 window.open() access is denied - 拒绝访问 情况一则及分析_基础知识

脚本中出现 window.open() access is denied - 拒绝访问 情况一则及分析_基础知识

May 16, 2016 pm 07:21 PM
- access denied is アクセスが拒否されました

也许这个状况有的朋友已经知道了,但我还是把自己的分析思路写下来给其他的朋友参考。

昨天把blog页面另存在,在本地调试和改blog皮肤。

简介:
我想在onload页面加载完时用脚本控制,把Run HTML code, CopyCode, SaveCode这三个按扭动态的添加到css类名为code_textarea的多行文本框里。

状况描述:
在非服务器端(即没有在本地服务器下调试)按扭已经全部出现在多行文本框下,但在调试脚本时(点击Run HTML code),出现拒绝访问...服务器下调试正常。

分析:
查看代码,发现是这里脚本出错,代码如下:
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) };
};
用Mozilla打开,运行正则,并且脚本没有任何错误。弄了将半个小时,我把其余的代码都删了,在Mozilla中把动态生成的div和button代码copy出来察看,把在IE上动态加载的button拷贝到dw里看,没有异常。包括把上面的function放在另外一个页面上运行,依然是正常,并把这个function单独改成了window.open('','','')还是拒绝访问。

既然是拒绝访问,一般情况下肯定是跨域了,但本地调试,没有加其它的代码呀,怎么跨域?百思不得其解。
于是想先放上blog再说了。奇怪的是放上服务器又可以了,于是我把本地的页面放到本地服务器下运行,也是正常。这回就更蹊跷了。说是IE bug?不成立,因为服务器可以运行。代码问题?不成立,因为在其它页面正常,而且没有涉及到其它的代码。只是funtion,说明肯定是下载的这页有问题,难道CSDN blog输出的HTML页有document.domain类似的代码吗?

分步调试成功:
把原先所有的代码不需要的地方全部去掉(包括Html)。最终简化如下: 


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]


运行依然如故。
于是再把DTD去掉。


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]


运行正常~~~知道原因所在了。

这句害我找了半天的原因,总算刨它出来了,证明这句另存为的代码在IE下是会有跨域存在的,而Mozilla对这句没有任何反应。

后记:
对于另存为出现的注释代码

放在HTML任何部分,在本地非服务器端调试都会有拒绝访问的错误,而Mozilla不会。如:
nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">







このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 でバックグラウンド アプリケーションを無効にする方法_バックグラウンド アプリケーションを無効にする Windows 11 チュートリアル Windows 11 でバックグラウンド アプリケーションを無効にする方法_バックグラウンド アプリケーションを無効にする Windows 11 チュートリアル May 07, 2024 pm 04:20 PM

1. Windows 11で設定を開きます。 Win+I ショートカットまたはその他の方法を使用できます。 2. 「アプリ」セクションに移動し、「アプリと機能」をクリックします。 3. バックグラウンドでの実行を禁止したいアプリケーションを見つけます。三点ボタンをクリックして、[詳細オプション] を選択します。 4. [バックグラウンド アプリケーションのアクセス許可] セクションを見つけて、目的の値を選択します。デフォルトでは、Windows 11 は電力最適化モードを設定します。これにより、Windows はアプリケーションがバックグラウンドでどのように動作するかを管理できるようになります。たとえば、バッテリーを節約するためにバッテリー セーバー モードを有効にすると、システムはすべてのアプリを自動的に終了します。 5. アプリケーションがバックグラウンドで実行されないようにするには、[なし] を選択します。プログラムが通知を送信していない、データの更新に失敗しているなどに気付いた場合は、次のことができることに注意してください。

DeepSeek PDFを変換する方法 DeepSeek PDFを変換する方法 Feb 19, 2025 pm 05:24 PM

DeepSeekはファイルを直接PDFに変換できません。ファイルの種類に応じて、異なる方法を使用できます。一般的なドキュメント(Word、Excel、PowerPoint):Microsoft Office、Libreoffice、その他のソフトウェアを使用してPDFとしてエクスポートします。画像:画像ビューアまたは画像処理ソフトウェアを使用してPDFとして保存します。 Webページ:ブラウザの「Print into PDF」関数を使用するか、PDFツールに専用のWebページを使用します。 UNCOMMONフォーマット:適切なコンバーターを見つけて、PDFに変換します。適切なツールを選択し、実際の状況に基づいて計画を作成することが重要です。

Javaでdaoは何を意味しますか Javaでdaoは何を意味しますか Apr 21, 2024 am 02:08 AM

Java の DAO (Data Access Object) は、アプリケーション コードと永続層を分離するために使用されます。その利点は次のとおりです。 分離: アプリケーション ロジックから独立しているため、変更が容易になります。カプセル化: データベース アクセスの詳細を非表示にし、データベースとの対話を簡素化します。スケーラビリティ: 新しいデータベースや永続化テクノロジをサポートするために簡単に拡張できます。 DAO を使用すると、アプリケーションはデータベースの詳細を直接処理することなく、メソッドを呼び出してエンティティの作成、読み取り、更新、削除などのデータベース操作を実行できます。

iPhoneのカメラとマイクへのアクセスを許可できません iPhoneのカメラとマイクへのアクセスを許可できません Apr 23, 2024 am 11:13 AM

アプリを使用しようとすると、「カメラとマイクへのアクセスを許可できません」というメッセージが表示されますか?通常、カメラとマイクのアクセス許可は、必要に応じて特定の人に付与します。ただし、許可を拒否すると、カメラとマイクは機能しなくなり、代わりにこのエラー メッセージが表示されます。この問題の解決は非常に基本的なもので、1 ~ 2 分で解決できます。解決策 1 – カメラ、マイクの権限を提供する 必要なカメラとマイクの権限を設定で直接提供できます。ステップ 1 – [設定] タブに移動します。ステップ 2 – [プライバシーとセキュリティ] パネルを開きます。ステップ 3 – そこで「カメラ」権限をオンにします。ステップ 4 – 内部には、携帯電話のカメラの許可を要求したアプリのリストが表示されます。ステップ5 – 指定したアプリの「カメラ」を開きます

Javaでフィールドは何を意味しますか Javaでフィールドは何を意味しますか Apr 25, 2024 pm 10:18 PM

Java では、「フィールド」は、データまたは状態を格納するために使用されるクラスまたはインターフェイスのデータ メンバーです。フィールドのプロパティには、タイプ (任意の Java データ型)、アクセス権、静的 (インスタンスではなくクラスに属する)、最終 (不変)、および一時 (シリアル化されていない) が含まれます。フィールドは、オブジェクト データの保存やオブジェクトの状態の維持など、クラスまたはインターフェイスの状態情報を保存するために使用されます。

Oracle ストアド プロシージャの実行計画を読み取る方法 Oracle ストアド プロシージャの実行計画を読み取る方法 Apr 18, 2024 pm 10:18 PM

Oracle ストアド プロシージャの実行計画は、アクセス パス、推定行数、結合順序、コストなどの実行情報を提供します。実行計画を表示するには、EXPLAIN PLAN コマンドを実行し、「実行計画」セクションを探します。実行プランにはヘッダーと本文が含まれており、ID、操作タイプ、行数、コスト、アクセス パス、フィルター条件、関連するテーブルとインデックス、接続がある場合は接続シーケンスが詳細に表示されます。

Java リフレクション メカニズムはクラスの動作をどのように変更しますか? Java リフレクション メカニズムはクラスの動作をどのように変更しますか? May 03, 2024 pm 06:15 PM

Java リフレクション メカニズムを使用すると、プログラムはソース コードを変更せずにクラスの動作を動的に変更できます。 Class オブジェクトを操作することで、newInstance() によるインスタンスの作成、プライベート フィールドの値の変更、プライベート メソッドの呼び出しなどが可能になります。ただし、リフレクションは予期しない動作やセキュリティ上の問題を引き起こす可能性があり、パフォーマンスのオーバーヘッドがあるため、注意して使用する必要があります。

メモリースティックはどのようなものですか? メモリースティックはどのようなものですか? Apr 21, 2024 pm 01:01 PM

コンピュータのメモリ モジュールはどのようなものですか? これは、コンピュータのグラフィック カードとメモリ モジュールの概要です。コンピュータの独立したグラフィックス カードはファン付きのグラフィックス カード スロットに挿入され、メモリ モジュールはコンピュータのマザーボード上の緑色の長方形の形をしたメモリ モジュール スロット内にあります。ラップトップのメモリ モジュールはデスクトップのメモリ モジュールとは異なるため、互換的に使用することはできません。外観の違い1:デスクトップメモリ​​、細身、長さ13〜14 cm。 2: ノートのメモリは短く、約 5 センチメートルです。メモリはコンピュータの橋渡し役であり、プロセッサとハードウェア (ハードディスク、マザーボード、グラフィックス カードなど) の間のデータ交換を担当します。途中の赤丸がメモリースティックで、CPUファンの横にありメモリースティックに差し込まれています。ほら、コンピューターのメモリースティックはこんな感じです。ドライバーを使用してデスクトップ コンピューターのカバーを開けます。中央の赤い丸がメモリ モジュールです。メモリースティックとは何ですか?

See all articles